作者 : 卿笃军
构造函数 ,是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与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日