重载单目运算符++
#include <iostream>
#include <windows.h>
using namespace std;
class Time
{
public:
Time(int h=0,int m=0,int s=0):hours(h),mins(m),secs(s){}
void display(){Sleep(10);system("cls");cout<<hours<<"时"<<mins<<"分"<<secs<<"秒"<<endl;}
Time& operator++();
Time operator++(int);
private:
int hours;
int mins;
int secs;
};
Time& Time::operator++()
{
if(++secs==60)
{
secs-=60;
if(++mins==60)
{
mins-=60;
if(++hours==24)
{
hours-=24;
}
}
}
return *this;
}
Time Time::operator++(int)
{
Time temp(*this);
if(++secs==60)
{
secs-=60;
if(++mins==60)
{
mins-=60;
if(++hours==24)
{
hours-=24;
}
}
}
return temp;
}
int main()
{
Time T1(23,59,59);
for(int i=0;i<86400;i++,++T1)
{
T1.display();
}
}
结果(计时器功能)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191019184417307.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTAzOTY1Mg==,size_16,color_FFFFFF,t_70)