2024/02/27 3
-
9.4 다형성을 위한 상속 지금까지 파생 클래스와 그 부모간의 관계에 대해 배웠다. 이제는 가장 강력한 시나리오인 다형성 구현에 상속을 어떻게 이용하는지 알아볼 차례다. 전에 사용했던 다형성의 활용은, 공통의 부모를 가지는 객체를 부모타입의 객체가 필요한 자리에 마음대로 바꿔 넣어 사용한 예 이다. 9.4.1 스프레드 시트 다시보기 7장과 8장에서는 객체지향 프로그래밍을 설명하기 위해 스프레드 시트 예제를 활용했다. SpreadSheetCell은 데이터의 한 항목을 나타내고, 각 항목의 값은 double또는 string타입 이다. 다음은 SpreadSheetCell클래스의 정의로, 셀의 값을 세팅할 때 double이나 string중 어떤 값이든 이용할 수 있다. 단, 현재 셀의 데이터 값을 읽어올 때는 ..
-
문제 설명 시침, 분침, 초침이 있는 아날로그시계가 있습니다. 시계의 시침은 12시간마다, 분침은 60분마다, 초침은 60초마다 시계를 한 바퀴 돕니다. 따라서 시침, 분침, 초침이 움직이는 속도는 일정하며 각각 다릅니다. 이 시계에는 초침이 시침/분침과 겹칠 때마다 알람이 울리는 기능이 있습니다. 당신은 특정 시간 동안 알람이 울린 횟수를 알고 싶습니다. 다음은 0시 5분 30초부터 0시 7분 0초까지 알람이 울린 횟수를 세는 예시입니다. 가장 짧은 바늘이 시침, 중간 길이인 바늘이 분침, 가장 긴 바늘이 초침입니다. 알람이 울리는 횟수를 세기 시작한 시각은 0시 5분 30초입니다. 이후 0시 6분 0초까지 초침과 시침/분침이 겹치는 일은 없습니다. 약 0시 6분 0.501초에 초침과 시침이 겹칩니다...
-
마법을 사용하는 객체의 스왑을 구현한다. Wizard 위자드에서 스왑을 구현하고, 마법에서 종류를 Q나 E 또는 지정된 키 값으로 스왑시킬 수 있게 한다. 마법은, 스왑전에 Visival을 꺼주고, 스왑후에 손에 들게 되었을 때, Visival을 켜주게 된다. 즉, 변수목록에 Skill_list로 데이터를 삽입하고, 현재 사용하는 중인 Skill은, Skill에 들어가서 사용된다. 객체의 Switch_To_List는 int값으로, Skill_list의 size에 대응되어 현제 사용중인 Skill의 위치값을 나타낸다. BP_Player BP_Player에서 사용되는 Swap 동작이다. LeftSwap과 RightSwap을 호출하며, 해당 함수는 현재 장착중인 Weapon에 대응된다. 현재 Weapon을 들..