C 6 操作符過載

2021-10-23 08:14:31 字數 595 閱讀 3763

過載語法:返回值型別 operator 操作符(引數列表)

必須至少乙個引數是類,否則編譯器不能分清是不是過載的操作符

//對於二元操作符函式為某類的成員函式的時候,只能顯式宣告乙個形引數作為右運算元,左運算元是這個類的物件

//對於一元操作符函式為某類的成員函式的時候就不需要引數了。

//本來是幾元操作符,過載以後還得是幾元的

//定義

int operator+(const c& c)

//使用

a=b+c//等同於a=b.operator+(c);

乙個類的friend可以訪問這個類的private和protected成員。但它不是該類的成員函式,所以放在類中**都行

class c//頂層函式

};class c//另乙個類的成員函式

};class c;

//同乙個函式可以被多個類宣告為友元,這樣就可以在乙個函式裡用多個類的成員

friend關係單向,不可傳遞。

friend不是類的成員卻可以訪問類的private和protected,破壞了物件導向的性質。建議只在操作符過載中用

C (6) 運算子過載 一

運算子過載的概念 操作符過載的一般規則 運算子過載方法 運算子過載有兩個方法 乙個是利用全域性函式進行運算子過載 另一種是利用成員函式進行運算子過載。利用成員函式 為什麼要進行運算子過載?我們知道,資料型別開闢了記憶體用於存放變數和提供了基於變數值的運算。類定義了物件,提供了一種新的資料儲存方法。所...

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 過載操作符必須具備至少乙個類型別或列舉型別的運算元。...