C++ 构造函数执行原理

2014-11-24 13:20:16 · 作者: · 浏览: 26

作者 : 卿笃军


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


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

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

\

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


< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+tdq2/rK9o7q4+b7dcHJpdmF0ZTogwO/D5rPJ1LGx5MG/tcS2qNLly7PQ8qOsuPi21M/zv6qx2b/VvOSjrM281tCi2qGjPC9wPgo8cD48YnI+CjwvcD4KPHA+tdrI/bK9o7q9+NDQ" : "号后面的初始化工作,其中初始化顺序为:private:成员变量定义顺序,即先m_a,再m_b,图中③。

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


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

#include 
  
   
using namespace std;

class GZHS
{
public:
	GZHS(int a = 0, int b = 0) : m_b(b), m_a(a)
	{
		cout<
   
    
参考文献:百度百科,构造函数,http://baike.baidu.com/view/411124.htm,2014年5月22日

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