重载单目运算符
各位大侠:晚上好!
请帮我分析下后置自增运算符"++"重载函数,这个*this的作用
谢谢!
#include<iostream>
using namespace std;
class time
{ public:
time(){minute=0;sec=0;}
time(int m,int s):minute(m),sec(s){}
time operator++();
time operator++(int);
void display(){cout<<minute<<":"<<sec<<endl;}
private:
int minute;
int sec;
};
time time::operator++()
{ if(++sec>=60)
{sec-=60;
++minute;}
return *this;
}
time time::operator ++(int)
{ time temp(*this);//*this起什么作用???
sec++;
if(sec>=60)
{ sec-=60;
++minute;}
return temp;
}
void main()
{time time1(34,59),time2;
cout<<"time1:";
time1.display();
++time1;
cout<<"++time1:";
time1.display();
time2=time1++;
cout<<"time1++";
time1.display();
cout<<"time2:";
time2.display();
}