我是靠谱客的博主 勤劳芒果,这篇文章主要介绍生成封闭类对象构造析构函数调用顺序生成封闭类对象构造析构函数调用顺序,现在分享给大家,希望可以做个参考。

生成封闭类对象构造析构函数调用顺序

当封闭类对象生成时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;
}

程序运行结果:
在这里插入图片描述


  1. 参考北京大学C++程序设计课程 ↩︎

最后

以上就是勤劳芒果最近收集整理的关于生成封闭类对象构造析构函数调用顺序生成封闭类对象构造析构函数调用顺序的全部内容,更多相关生成封闭类对象构造析构函数调用顺序生成封闭类对象构造析构函数调用顺序内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部