C 操作符過載

2021-08-22 18:14:34 字數 1217 閱讀 6485

1,利用operator關鍵字對操作符過載,本質是對函式的過載

2,friend可以對函式或類開放訪問許可權。(可以訪問private)

3,對《運算子過載時,返回值型別要是ostream的引用,主要目的是鏈式訪問

cout<1,對於類來說操作符過載既可以用友員函式過載也可以用成員函式過載

2,成員函式過載,少乙個左引數,不要friend

3,過載方式的選擇

4,++過載的問題

後置++ 用乙個佔位符區別前置++

5,&&和||過載的問題

&&和||在語法上可以過載,但是不要去過載,無法實現短路原則。因為那些函式引數都會被求值。

6,過載符過載返回值問題

如果是棧物件就不能是引用,如果返回的是帶引用的引數,則返回型別也是引用。對於*this也返回其引用。

7,過載例項

#include using namespace std;

class test

test& operator ++();//前置++

test operator ++(int);//後置++

test& operator -();

test operator +(const test& c2);//成員函式過載

//friend test operator +(const test& c1,const test& c2);//使用引用的原因是避免了拷貝。

friend ostream& operator <

};/*

test operator +(const test& c1,const test& c2)

*/test& test::operator -()

test& test::operator ++()//前置++

test test::operator ++(int)//後置++ 。為什麼返回值不能是引用 ,ret物件是棧上的物件。

test test::operator +(const test& c2)

ostream& operator <

int main(void)

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 不能重新定義內建型別的操作...