概述
生成封闭类对象构造析构函数调用顺序
当封闭类对象生成时1
S1:执行所有成员对象的构造函数
S2:执行封闭类的构造函数
成员对象的构造函数调用顺序
和成员对象在类中的说明顺序一致
与在成员初始化列表中出现的书序无关
当封闭类的对象消亡时
S1:先执行封闭类的析构函数
S2:执行成员对象的析构函数
先构造的后析构,后构造的先析构
#include <iostream>
using namespace std;
class CTyre {
public:
CTyre() {cout << "CTyre contructor" << endl;}
~CTyre() {cout << "CTyre destructor" << endl;}
};
class CEngine {
public:
CEngine() {cout << "CEngine contructor" << endl;}
~CEngine() {cout << "CEngine destructor" << endl;}
};
class CCar {
private:
CEngine engine;
CTyre tyre;
public:
CCar() {cout << "CCar contructor" << endl;}
~CCar() {cout << "CCar destructor" << endl;}
};
int main() {
CCar car;
return 0;
}
程序运行结果:
参考北京大学C++程序设计课程 ↩︎
最后
以上就是勤劳芒果为你收集整理的生成封闭类对象构造析构函数调用顺序生成封闭类对象构造析构函数调用顺序的全部内容,希望文章能够帮你解决生成封闭类对象构造析构函数调用顺序生成封闭类对象构造析构函数调用顺序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复