C++之重载单目运算符2

#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 t(*this);
sec++;
if(sec>=60)
{
sec-=60;
++minute;
}
return t;
}


int main()
{
Time t1(59,59),t2;
cout<<"t1:";
t1.display();
++t1;
cout<<"++t1:";
t1.display();
t2=t1++;
cout<<"t1++:";
t1.display();
cout<<"t2:";
t2.display();

return 0;
}

猜你喜欢

转载自blog.csdn.net/wrc_nb/article/details/80549055