首页 > 代码库 > C++ 构造函数执行原理

C++ 构造函数执行原理

作者 : 卿笃军


构造函数 ,是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。(这句话来自百度百科)


由上面这句话,我们知道:构造函数,是用来给对象开辟空间并初始化对象的~~~~~

那么,构造函数具体是如何执行的呢?下面附上一张图,图解构造函数执行过程:


第一步:构造函数接收到主函数传进来的参数,图中①。


第二步:根据private: 里面成员变量的定义顺序,给对象开辟空间,图中②。


第三步:进行" : "号后面的初始化工作,其中初始化顺序为:private:成员变量定义顺序,即先m_a,再m_b,图中③。

                 (和" : "后面的顺序无关。这里可以想象成去医院看病,只和你预约的先后有关,和你排队的顺序无关,先预约的先看病)。


第四步: 执行{ } 里面的cout<<语句,图中④。

#include <iostream>
using namespace std;

class GZHS
{
public:
	GZHS(int a = 0, int b = 0) : m_b(b), m_a(a)
	{
		cout<<m_a<<","<<m_b<<endl;
	}
private:
	int m_a;
	int m_b;
};

int main()
{
	GZHS Test(5,22);

	return 0;
}

参考文献:百度百科,构造函数,http://baike.baidu.com/view/411124.htm,2014年5月22日

熊思的CSDN博客,C++的构造函数,http://blog.csdn.net/u010056396/article/details/26623069,2014年5月22日