对后置自增运算符的重载

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
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);
    sec++;
    if(sec>=60)
    {
        sec-=60;
        ++minute;
        return temp;
    }
}
int main(int argc, char** argv) {
    Time time1(34,59),time2;
    cout<<"time1:";
    time1.display();
    ++time1;
    cout<<"++time1:";
    time1.display();
    time2=time1++;
    cout<<"time1++";
    time1.display();
    cout<<"time2:";
    time2.display();
}
原文地址:https://www.cnblogs.com/borter/p/9405411.html