- 构造函数:
先调用基类的构造函数
在调用对象成员的构造函数
最后调用派生类的构造函数 - 析构函数
- 上面的逆序- 派生类的析构函数
- 对象成员的析构函数
- 基类的构造函数
写个实例验证下:
#include<iostream>
using namespace std;
class component
{
public:
component() {cout << "construct component" << endl;};
~component() {cout << "destruct component" << endl;};
};
class base
{
public:
base() {cout << "construct base" << endl;};
~base() {cout << "destruct base" << endl;};
};
class derived : base
{
public:
derived() {cout << "construct derived" << endl;};
~derived() {cout << "destruct derived" << endl;};
component c;
};
int main(){
derived d;
return 0;
}
运行结果