类的初始化
Clock::Clock(int newH,int newM,int newS):hour(newH),minute(newM),second(newS){
}
///等价于下面
Clock::Clock(int newH,int newM,int newS){
hour = newH;
minute = newM;
second = newS;
}
委托构造函数
参数不一致而代码一致,可调用其他构造函数以减少代码的重复。
Clock::Clock(int newH,int newM,int newS):hour(newH),minute(newM),second(newS){
}
Clock::Clock():Clock(0,0,0) { }
复制构造函数
对象复制时使用的构造函数,以抄作业为例:
- 默认复制构造函数:完全复制,连名字也不例外
- 自义定复制构造函数:自己决定复制时的操作
Clock::Clock( const Clock &clock)
- clock是个引用类型的参数,const保证了这个引用类型不会被修改数据
- 一个类可以有两个复制构造函数,一个带const,一个不带
- 复制的3种情况,1.Clock clock2(clock1) 或 array[0] = Clock(clock1) 2.函数的参数传递 3.return返回值