构造函数
按形式分可分为三类:
- 默认(无参)的构造函数
- 自定义的构造函数
- 具有初始化列表的构造函数
通常初始化列表的构造函数是一般为了对 const 成员初始化
//! 初始化成员的次序,与定义成员的次序一致
Class Time
{
Public:
Time(int n): hour(n), src(3){ //初始化参数列表
......
}
Time(int n)
{
Min = n;//error
}
Private:
Int hour;
Int src;
Const int min; // const 修饰的数据成员必须初始化,的形式初始化
}
拷贝构造函数
- 浅拷贝:
- 使用系统默认的copy construction,简单的将成员一一复制
- 深拷贝:
- 自定义重载copy construction, 有动态分配的时候用
使用地方:
1. 函数返回值是一个类的对象时, 如 className c1 = c2.add(c3); 这是临时开辟的一个副本具体参考函数内存<函数帧>