继承中构造和析构顺序
子类继承父类后,当创建子类对象,也会调用父类的构造函数。这个时候就会先构造父类,在构造子类,正所谓:现有先有父亲在有儿子。而析构的顺序恰恰想反,要先析构儿子在析构父亲。
class Base
{
public:
Base()
{
cout << "构造一个Base类对象" << endl;
}
~Base()
{
cout << "析构一个Base类对象" << endl;
}
};
class Son :public Base
{
public :
Son()
{
cout << "构造一个Son类对象" << endl;
}
~Son()
{
cout << "析构一个Son类对象" << endl;
}
};
void test()
{
Son s1;
}