初始化列表
1.初始化列表
1)初始化列表里可以放函数
图一中等号右边能放什么,初始化列表的括号里就能放什么
2).初始化顺序
a.
等同于:
m_age = m_height;//未知
m_height = m_height;//180
结果:
b.
初始化的顺序只和声明时候的顺序有关
2. 初始化列表与默认参数的配合使用
注:
为什么默认参数只能放声明里面??
(默认参数从右到左顺序,test(int a = 20, int b)//error)
3.构造函数的互相调用
构造函数调用构造函数只能放在初始化列表里
错误的调用相当于创建了一个临时的person对象
而真正需要赋值的是外面的对象,即this指针