#include <iostream>
using namespace std;
class CTime
{
public:
CTime()
{
minute=0;
sec=0;
}
CTime(int m,int s):minute(m),sec(s) {}
CTime operator++(int);//后置++,下一秒
CTime operator++();//前置++,下一秒,前置与后置返回值不一样
CTime operator--( int);//后置--,前一秒
CTime operator--();//前置--,前一秒
friend ostream & operator<<(ostream&output,CTime&t)
{
output<<t.minute<<":"<<t.sec<<endl;
return output;
}
private:
int minute;
int sec;
};
CTime CTime::operator++()
{
if(++sec>=60)
{
sec-=60;
++minute;
return *this;
}
}
CTime CTime::operator++(int)
{
CTime temp(*this);
sec++;
if(sec>=60)
{
sec-=60;
++minute;
}
return temp;
}
CTime CTime::operator--()
{
if(--sec<0)
{
sec+=60;
--minute;
}
return *this;
}
CTime CTime::operator--(int)
{
CTime temp(*this);
sec--;
if(sec<0)
{
sec+=60;
--minute;
}
return temp;
}
int main()
{
CTime time1(34,59),time2;
cout<<"time1:";
cout<<time1;
++time1;
cout<<"++time1:";
cout<<time1;
time2=time1++;//赋值以及运算
cout<<"time1++:";
cout<<time1;
cout<<"time2:";
cout<<time2;
--time1;
cout<<"--time1:";
cout<<time1;
time2=time1--;
cout<<"time1--:";
cout<<time1;
cout<<"time2:";
cout<<time2;
return 0;
}
运行结果: