c++ 重载单目运算符,前置自增运算符和后置自增运算符的作用是不一样的

前置单目运算符,重载函数没有形参,对于后置单目运算符,重载函数需要有一个整型形参。
以时钟类增加一秒为例:

#include 
using namespace std;
class time
{
public:
    time(int h=0,int m=0,int s=0):hour(h),minute(m),second(s){}     //默认参数,参数初始化表构造函数
    void display();
    time operator ++();    //前置自增运算
    time operator ++(int);   //后置自增运算
private:
    int hour,minute,second;
};
time time::operator ++()
{
    second++;
    if(second>=60)
    {
        second-=60;
        minute++;
        if(minute>=60)
        {
            minute-=60;
            hour++;
            hour=hour%24;
        }
    }
    return *this;  //this 指向的是该对象
}
time time::operator ++(int)
{
    time c=*this;         //建立临时对象
    ++(*this);
    return c;
}
void time::display()
{
    cout<<"hour:"<

你可能感兴趣的:(c++ 重载单目运算符,前置自增运算符和后置自增运算符的作用是不一样的)