多个构造函数时,有默认值的时候编译会出错

#include<iostream>
using namespace std;
class Clock
{
public://公有
 Clock(){Hour=Minute=Second=1;}
 Clock(int newH=1,int newM=1,int newS=1);//有默认值,编译不通过
 ~Clock();
 void SetTime(int newH,int newM, int newS);
 void ShowTime();//成员函数
private://私有
 int Hour,Minute,Second;//数据成员

};//注意分号

Clock::Clock(int newH,int newM,int newS)//无返回值,创建对象时自动调用
{
 Hour=newH;
 Minute= newM;
 Second= newS;
 cout<<"Constructor called"<<endl;
}

void Clock::SetTime(int newH, int newM, int newS)
{
 Hour=newH;
 Minute=newM;
 Second=newS;

}
void Clock::ShowTime()
{
 cout<< Hour<<":"<<Minute<<":"<<Second<<endl;

}
Clock::~Clock()//无参数无返回值
{
 cout<< "Destructor called"<<endl;
}


void main()
{
 Clock myClock;
 Clock myClock2(1,2,3);
 Clock &cl=myClock;//创建引用

 Clock *pc;
 pc=&myClock;
 myClock.ShowTime();
 myClock.SetTime(12,12,12);
 myClock.ShowTime();
 cl.ShowTime();
 pc->ShowTime();
}


 

如果构造函数设置了默认值,它是如何影响函数重载的?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值