카테고리 없음

C++ 파라미터가 있는 생성자 오버라이딩 Overriding

F.xavier 2015. 12. 6. 01:54

Super Class에서 생성자 파라미터가 있는 경우는 Derived Class에서도 같은 파라미터를 받아야 상속받은 생성자를 생성할 수가 있다.

class Officer

{

private:

    std::string mName;

    int mId;

public:

    Officer(std::string name, int id);

    virtual ~Officer();

};

 

class Police : public Officer

//    public Gun

{

    Gun *mGun;

    int mAge;

public:

    Police(std::string name, int id, int age);

 

Police::Police(std::string name, int id, int age) : Officer(name, id), mAge(age)

{

    mGun = new Gun();

}

Police 객체를 생성할 부모의 객체가 생성되기 때문에 기본 생성자를 호출하는 문법이다.