#include<iostream>
using namespace std;
class CLOCK
{
int second;
int minute;
int hour;
public:
CLOCK()
{
second=0;minute=0;hour=0;
}
CLOCK(int h,int m,int s)
{
second=s;
minute=m;
hour=h;
}
~CLOCK(){}
int getSecond()
{
return second;
}
int getMinute()
{
return minute;
}
int getHour()
{
return hour;
}
CLOCK operator ++();//
CLOCK operator --();//前置--运算符
CLOCK operator ++(int);
CLOCK operator --(int);//后置--运算符
void showClock()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
};
CLOCK CLOCK::operator++()
{
second++;
if(second>=60)
{
second=second-60;
minute++;
if(minute>=60)
{
minute=minute-60;
hour++;
hour=hour%24;
}
}
return *this;
}
CLOCK CLOCK::operator--()
{
second--;
if(second<=-1)
{
second=60+second;
minute--;
if(minute<=-1)
{
minute=60+minute;
hour--;
if(hour<=-1)
{
hour=24+hour;
}
}
}
return *this;
}
CLOCK CLOCK::operator --(int)
{
CLOCK tempClock=*this;
second--;
if(second<=-1)
{
second=60+second;
minute--;
if(minute<=-1)
{
minute=60+minute;
hour--;
if(hour<=-1)
{
hour=24+hour;
}
}
}
return tempClock;
}
CLOCK CLOCK::operator ++(int)
{
CLOCK tempClock=*this;
++(*this);//调用++clock
return tempClock;
}
int main()
{
CLOCK a0(0,1,1);
CLOCK a1;
for(int i=0;i<80;i++)
{
//a1=--a0;
//a1.showClock();
a1=a0--;
a1.showClock();
}
cout<<"=========================================="<<endl;
for( i=0;i<80;i++)
{
a1=a0++;
a1.showClock();
}
return 0;
}
重载CLOCK类的++,--操作
最新推荐文章于 2021-01-10 11:16:27 发布