U E D R , A S I H C RSS

삼�사Cpp Study/Inheritance

��� 대해서 설명해 보고� 합니다. 길��� �까지 �어�주세요
당신� 지금 StarCraft�는 게임� 제작�를 맡게 �었다.(가정입니다.-_-유치하��� 들어주세요.) 먼저 마린과 파�어뱃��는 유니트가 기��었다.

~cpp 
class CMarine // 마린� 정�한 �래스
{
private:
    int m_Attack;
    int m_Defence;
    int m_HP;
public:
    void Attack() { // 마린 공격!! }
};

class CFirebat // 파�어뱃� 정�한 �래스
{
private:
    int m_Attack;
    int m_Defence;
    int m_HP;
public:
    void Attack() { // 파�어뱃 공격!! }
};

ì�¼ë‹¨ 완성ì�´ë‹¤. 기ì�œë§ˆì�Œìœ¼ë¡œ ì œìœì�„ 했다.
다�날 문제�� 발견�었다. 마린과 파�어뱃으로 부대를 구성하여 배열� 저장하려고 하였는� �개� �래스가 틀리기 때문� 한개� 배열로는 �함할 수가 없었다.

~cpp 
CMarine Force[12]; // �렇게 하면 부대안�는 마린밖� 넣지 못한다.
CFirebat Force[12]; // �렇게 하면 부대안�는 파�어뱃밖� 넣지 못한다.
아.. � 문제를 어떻게 하면 좋�까~? �럴때 사용할 수 있는 스킬� 바로 ��(Inheritance)�다.
�단 파�어뱃� 아니고 마린� 아닌 유니트를 만들어보�

~cpp 
class CUnit
{
protected: // protected를 사용한 �유는 ��받� �래스�서� � 멤버들� 사용할 수 있게 하기 위함�다.
    int m_Attack;
    int m_Defence;
    int m_HP;
public:
    void Attack();
};
마린과 파�어뱃� � 유니트�는 �래스를 �� 받으면 �다.

~cpp 
class CMarine : public CUnit // �렇게 ��받는다.
{
public:
    void Attack() { // 마린 공격! }
};

class CFirebat : public CUnit
{
public:
    void Attack() { // 파�어뱃 공격! }
};

�렇게 한 후 부대를 만들어보�

~cpp 
CUnit Force1[12]; // �렇게 하면 마린�, 파�어뱃� 부대안� 들어갈 수 있다.

�렇게 첫번째 임무를 완성하였다.
----
삼�사CppStudy
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:39
Processing time 0.0102 sec