c 操作符過載

2021-08-21 07:54:44 字數 1373 閱讀 2405

#include 

using

namespace

std;

int main()

c++中通過operator關鍵字可以利用函式擴充套件操作符

operator的本質是通過函式過載實現操作符過載

c++操作符過載本質是函式呼叫

struct student 

;student operator+(student s1,student s2) //利用關鍵字operator對+號過載

; s3.a=s1.a+s2.a;

s3.b=s1.b+s2.b;

return s3;

}int main()

; student s2=;

student s3=s1+s2; /*這裡的+其實是操作符過載,按正常情況結構體是不可以相加的,而c++操作符過載賦予了+號特殊的功能*/

return

0;}

由於c++類的成員變數一般為私有變數,所以得先把operator定義的函式設為類的友元函式

class student

int gata()

int getb()

friend student operator+(const student& s1,const student& s2); //設定成友元,才可以訪問私有變數

};student operator+(const student& s1,const student& s2)

int main()

正常情況下是不能直接列印類的例如:

cout

class student

int gata()

int getb()

friend student operator+(const student& s1,const student& s2); //設定成友元,才可以訪問私有變數

friend ostream& operator

<<(ostream& cout,student& s); //也要設為友元

};ostream& operator

<<(ostream& cout,student& s) //ostream 標準流

student operator+(const student& s1,const student& s2)

int main()

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