- 父类构造函数在子类中的调用方式
- 默认调用
- 适用于无参构造函数和使用默认参数的构造函数
- 显示调用
- 通过初始化列表进行调用
- 适用于所有父类构造函数
- 默认调用
- 父类构造函数的调用
class Child : public Parent
{
public:
Child() //隐式调用
{
cout << "Child()" << endl;
}
child(string s) //显示调用
: Parent("Parameter to Parent") //初始化列表
{
cout << "Child() : " << s << endl;
}
};
构造规则
- 子类对象在创建时会首先调用父类的构造函数
- 先执行父类构造函数在执行子类的构造函数
- 父类构造函数可以被隐式调用或者显示调用
对象创建时构造函数的调用顺序
- 调用父类的构造函数
- 调用成员变量的构造函数
- 调用类自身的构造函数
析构函数的调用顺序与构造函数相反
- 执行自身的析构函数
- 执行成员变量的析构函数
- 执行父类的析构函数