1、默认构造函数
- 没有参数;
- 若有参数,则一定全部都有默认的参数值。
2、初始化列表
(1)概念
(2)特性
- 建议用初始化列表来初始化数据成员。
- 初始化列表先于构造函数执行;
- 初始化列表只能用于构造函数;
- 初始化列表可以同时初始化多个数据成员。
(3)必要性
- 如果需要给const修饰的数据成员赋值,必须用初始化列表。
3、拷贝构造函数
(1)为什么要拷贝构造函数?见博客http://blog.csdn.net/zhhymh/article/details/6249219
(2)拷贝构造函数的定义格式
- 如果没有自定义的拷贝构造函数,则系统自动生成一个默认的拷贝构造函数;
- 当采用复制初始化实例化对象时,系统自动调用拷贝构造函数。
- 以下是函数传参时,调用拷贝构造函数。(这里没有剪切完整的代码)
4、构造函数总结
构造函数分为无参构造函数、有参构造函数
- 无参构造函数是默认构造函数;
- 有参构造函数分为参数带默认值,参数无默认值;其中如果参数带默认值,也算是默认构造函数
构造函数和拷贝构造函数都是自动调用的
- 我们先编写好这些函数,然后当实例化或者复制初始化时,会自动调用这些函数。