//重载单目运算符
#include<iostream>
using namespace std;
class Time{
public:
Time(int m=0,int s=0):second(s),minute(m){}
void display();
Time operator++(int);
private:
int minute,second;
};
void Time::display(){
cout<<minute<<":"<<second<<endl;
}
Time Time::operator++(int){
Time temp=*this;//亦可使用Time temp(*this);复制对象
if(second==59){
second=0;
if(minute==59){
minute=0;
}
else minute++;
}
else second++;
return temp;
}
int main(){
Time t1(12,34);
for(int i=0;i<100;i++){
(t1++).display();
}
cout<<"_____"<<endl;
t1.display();
return 0;
}
//与前操作符不同的地方就在于多了一个标记(int)作为重载函数的参数,但其实只有标记的作用,并未在重载函数定义中使用