摘要:构造函数 ,是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。(这句话来自百度百科)
由上面这句话,我们知道:构造函数,是用来给对象开辟空间并初始化对象的~~~~~
那么,构造函数具体是如何执行的呢?下面附上一张图,图解构造函数执行过程:
这里,②+③就相当于:int a = 10; 而②+④相当于:int b; b = 10; 所以,const int c = 10;之类的写法只能写在冒号语法之中。
下面简单阐述构造函数,步骤:
第一步:构造函数接收到主函数传进来的参数,图中①。
第二步:根据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日