多态性2
#include<iostream>
using namespace std;
class Clock{
public:
Clock(int hour=0,int minute=0,int second=0);
void showTime() const;
Clock& operator++();
Clock operator++(int);
private:
int hour,minute,second;
};
Clock::Clock(int hour/*=0 */,int minute/*=0 */,int second/*=0 */){
if(0<=hour && hour<24 && 0<=minute && minute<60 && 0<=second && second<60){
this->hour=hour;
this->minute=minute;
this->second=second;
}else
cout<<"Time error!"<<endl;
}
void Clock::showTime() const{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
Clock & Clock::operator++(){
second++;
if(second>60){
second-=60;
minute++;
if(minute>=60){
minute-=60;
hour=(hour+1)%24;
}
}
return *this;
}
Clock Clock::operator++(int){
Clock old=*this;
++(*this);
return old;
}
int main()
{
Clock myClock(23,59,59);
cout<<"First time output:";
myClock.showTime();
cout<<"Show myClock++: ";
(myClock++).showTime();
cout<<"Show++myClock: ";
(++myClock).showTime();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?