构造函数初始化列表
构造函数参数初始化列表
当类中的成员包含对象时,在定义构造函数初始化成员需要使用初始化列表将对象成员初始化,如下段代码中的m_a1和m_a2;
构造对象成员的顺序与初始化的顺序无关,与对象成员的定义顺序有关;
如果类的成员中包含常量,如const int m_c,那么构造函数初始化参数时必须使用初始化列表对常量初始化,如B(int a,int b,int c):m_a(a), m_b(b), m_c(c){},其中m_c对应相应类中的常量成员。
1 class A{ 2 public: 3 A(int a){ 4 m_a = a; 5 ) 6 private: 7 int m_a; 8 } 9 10 class B{ 11 public: 12 B(A &a1,A &a2,int b):m_a1(a1),m_a2(a2){ 13 m_b = b; 14 } 15 private: 16 A m_a1; 17 A m_a2; 18 int m_b; 19 }
如下图中方式:

浙公网安备 33010602011771号