2021-01-10

类的初始化
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返回值

你可能感兴趣的:(2021-01-10)