C++面试常见问题——10派生类的构造与析构
派生类的构造与析构
派生类的构造
派生时构造函数与析构函数不会被继承,需要重新定义派生类的构造函数与析构函数。派生类对象包含了基类对象的值,创建派生类时首先会调用基类的构造函数,若派生类中含有其它类对象成员,则需要在初始化列表中对其进行初始化。
派生类名(派生类构造函数的参数列表):基类名(基类构造函数的参数列表){
函数体;
}
执行派生类构造函数时一般分为一下4步:
- 完成派生类对象内存空间的开辟,这由系统调用派生类构造函数自动完成。
- 调用基类构造函数对基类数据成员进行初始化。
- 若派生类对象中包含对象成员、const成员或引用成员,必须在初始化列表中完成对其的初始化。
- 执行派生类对象的函数体。
派生类的析构
与派生类的构造函数相反。析构时首先会执行派生类的析构函数,若有对象成员会执行对象成员的类的析构函数,最后执行基类的析构函数。
浙公网安备 33010602011771号