如何重載前置++和後置++

前置++:即++運算符位於操作數的前面,例如:++i;
後置++:即++運算符位於操作數後面,例如:i++;
注意一下幾點:
1、前置++重載時沒有參數,而後置++重載時有參數。不會使用其參數,僅僅是區分用。可以理解爲前置++後面有參數了,所以不需要參數
2、前置++需要返回引用,因爲重載自加運算符後可以返回對象的引用, 以方便在表達式中連續使用。而後置++返回的不是引用,所以不能進行連續使用。

#include<iostream>
using namespace std;

class point
{
public:
    point(int a, int b):x(a), y(b){}
    point& operator++()   // 前置++
    {
        x++;
        y++;
        return *this;
    }
    point operator++(int) //後置++ 
    {
        point a = *this;
        // 或者++a;
        a.x++;
        a.y++;
        return a;
    }

private:
    int x;
    int y;
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章