本文主要是介绍C++ 51 之 继承中的构造和析构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对象构造和析构的调用原则
- 继承中的构造和析构
- 子类对象在创建时会首先调用父类的构造函数
- 父类构造函数执行完毕后,才会调用子类的构造函数
- 当父类构造函数有参数时,需要在子类初始化列表(参数列表)中显示调用父类构造函数
- 析构函数调用顺序和构造函数相反
#include <iostream>
#include <string>
using namespace std;class Base04{
public:Base04(){cout << "父类的构造" << endl;}~Base04(){cout << "父类的析构" << endl;}
};// Other 要先写,后面在去使用
class Other{
public:Other(){cout << "Other 类的构造" << endl;}~Other(){cout << "Other 类的析构" << endl;}
};class Son : public Base04{
public:Son(){cout << "子类的构造" << endl;}~Son(){cout << "子类的析构" << endl;}Other oth; // 座上宾 比自己的构造还要优先执行
};int main()
{// Son s1; // 先调用父类构造,再是子类构造,析构相反Son s1; // 子类中有其他的成员,先调用父类构造,再是子类中其他成员对象的构造,最后是子类中的构造,析构相反return 0;
}
这篇关于C++ 51 之 继承中的构造和析构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!