Papers/programming

상속관계에서의 생성자정의

tomato13 2007. 9. 23. 13:10

class CA

{

public:

 CA(Observer* pObserver){};

 ~CA(){};

};

 

class CB : public CA

{

public:

 CB(Observer* pObserver){};

 ~CB(){};

}

 

위의 코드는 CA의 constructor가 not appropriate하다는 error를 발생시킨다. 이를 해결하기 위해서는 아래와 같이 바꾸어주어야할 것이다.

 

class CA

{

public:

 CA(){};

 CA(Observer* pObserver){};

 ~CA(){};

};

 

class CB : public CA

{

public:

 CB(Observer* pObserver){};

 ~CB(){};

}

 

위의 정의를 기반으로

CB objCB;

를 수행하게 되면

CA(){}; -> CB(Observer* pObserver){};

와 같이 동작한다.

'Papers > programming' 카테고리의 다른 글

polymorphism  (0) 2007.09.29
CLASS vs. STRUCT  (0) 2007.09.23
observer pattern & static member  (0) 2007.09.22
class definition & reference  (0) 2007.09.22
include header files  (0) 2007.09.13