对象构造时,先调用父类的构造函数,再调用子类构造函数。
析构对象时,先执行子类析构函数,后再调用父类的析构函数
注意 virtual 的用法:
class CParent
{
public:
CParent()
{
std::cout << "父类构造函数调用" << std::endl;
}
virtual ~CParent()
{
std::cout << "父类析构函数调用" << std::endl;
}
};
class CChild:public CParent
{
public:
CChild()
{
std::cout << "子类构造函数调用" << std::endl;
}
virtual ~CChild()
{
std::cout << "子类析构函数调用" << std::endl;
}
};
int main()
{
CParent* objParent = new CChild();
if (objParent)
{
delete objParent;
}
return 0;
}