#include <iostream>
using namespace std;
class CA
{
public :
int nA ;
CA()
{
cout << "A 생성자 호출"<<endl;
};
CA(const CA & a)
{
cout<<"A 복사생성자 호출"<<endl;
};
CA& operator= (const CA &ca)
{
cout<<"A operator="<<endl;
if ( this == &ca ) return (*this);
nA = ca.nA;
}
};
class CB : public CA
{
public :
int nB ;
CB():CA()
{
cout<<"B 생성자 호출"<<endl;
};
CB(const CB & b)
{
cout<<"B 복사생성자 호출"<<endl;
};
CB& operator= ( const CB &cb)
{
cout<<"B operator="<<endl;
if ( this == &cb ) return (*this);
nB = cb.nB;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
CB b; /// A생성자 > B생성자
CB BB(b); /// A생성자 > B복사생성자
CB BBB = b; /// A생성자 > B복사생성자
BB = b; /// operator =
return 0;
}
댓글 없음:
댓글 쓰기