C 操作符過載

2021-07-26 05:16:42 字數 870 閱讀 8410

c++中不僅提供函式過載,還有操作符過載,操作符過載一般是用於類的操作符過載。比如string的操作其實就是定義了乙個特殊的類,並且提供一系列的函式使其類似於資料型別的。

函式:《函式型別》(類名::)operateor《運算子》(《形參表》)。

1.過載操作符函式的引數必須至少有乙個是該類型別的物件。

2.操作符過載不能改變操作符的結合性和優先順序。

3.  過載操作符函式不能有預設的引數。

比如以自增運算子過載舉例:

#include using namespace std;

class a

a(int a) //帶引數的建構函式 };

a& a:: operator ++ () //過載前置自增操作符

a a:: operator ++ (int) //過載後置自增操作符

int main(void)

point& operator = (const point& in) //成員函式

}

雙目運算子過載為友元函式比重載為成員函式更為方便(但是賦值運算子還是過載為成員函式為好,如果被過載為友元函式會出現與賦值語義不一致的地方);

關係操作符過載函式必須返回bool型別;

依然舉個例子:

//類的定義同上個例子

friend point operator + (const point& in_1, const point& in_2) //友元函式過載運算操作符

friend bool operator == (const point& in_1, const point& in_2) //友元函式過載關係操作符

C 操作符過載

1.作為成員過載 class myclass public myclass operator const myclass d cons friend myclass operator const myclass a1,const myclass a2 關於返回值型別的討論 呼叫者堆疊裡返回乙個物件效...

C 過載操作符

過載操作符 一 過載操作符的定義 1.過載操作符的結構 返回型別 operator 需要過載的操作符 形參列表 注意 形引數目應和運算元數目相同。2.過載操作符的幾條注意事項 1 過載的操作符名不能通過連線其他合法符號來建立任何新的操作符。如 2 過載操作符必須具備至少乙個類型別或列舉型別的運算元。...

c 操作符過載

過載操作符 一 限制 1 不能增加新的操作符 2 有些操作符不能過載,如.物件中的訪問成員 作用域解析操作符 sizeof 三元操作符 3 不能改變操作符的元數,元數是指與操作符相關的引數或運算元個數。比如一元操作符 只能應用於乙個操作符 4 不能改變操作符的優先順序 5 不能重新定義內建型別的操作...