多态性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;
}

posted @   不会JAVA的小袁  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示