class BC
{
public :
BC() { cout << "BC's constructor\n"; }
~BC() { cout << "BC's destructor\n"; }
};
class DC :public BC {
public :
DC() : BC() { cout << "DC's constructor\n"; }
~DC() { cout << "DC's destructor\n"; }
};
int main()
{
DC e;
return 0;
}
结果如下:
BC's constructor
DC's constructorDC's destructor
BC's destructor
构造函数的调用与析构函数的调用顺序完全相反!
构造函数的调用: 有父类先访问父类构造函数(如果有虚基类的父类则优先调用),再访问子类的构造函数,然后最后调用自己的;