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){};
와 같이 동작한다.