初始化列表

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指针
初始化列表