栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++构造函数执行顺序

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++构造函数执行顺序

引言

当创建一个类的对象时调用该类的构造函数;若为继承关系的类,则先执行父类的构造函数,再执行子类的构造函数;若为继承关系的类,该类中含有其它类类型的成员变量,那么其构造函数的调用顺序该如何呢。今天记录该问题。

验证示例

下面以简单的代码来验证这个问题,只需打断点调试即可值答案。

class A {
public:
	A() {}
	~A()
	{

	}
};

class C {
public:
	C() {}
	~C() {}
	void have() {
		cout << "have()" << endl;
	}
};
class B :public A {
public:
	B():A(){
		m_c.have();//这里写不写这行代码,都对最终的结果无影响
	}
	~B()
	{

	}

	void play() {
		m_c.have();
	}
private:
	C m_c;
};
结果

上述代码放入自己的项目中调试后的结果为:
先执行父类的构造函数,再执行类中所含类类型对象的构造函数,最后执行该类的构造函数。

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号