c 操作符過載小結

2021-06-22 00:19:15 字數 1159 閱讀 4729

對於函式過載,大家都不陌生。

所謂過載函式,是指:具有相同的函式名,具有不同的特徵標,這裡的特徵標不同具體為:具有的引數型別,引數個數不同,且只要有乙個不同就構成過載。注意:與返回型別無關。

操作符過載:我們一般將其作為類的成員函式,但也不必一定是成員函式,但必須至少有乙個運算元是使用者定義的型別(如果都是系統定義的基本型別,系統內部早就定義完好,無需你來操作)格式: operator op(argus)   op代表將要過載的操作符,且必須為有效的c++操作符,不能虛構乙個新的符號,譬如@。在操作符表示法中:操作符左側的物件是呼叫物件,操作符右側的物件是作為引數傳遞來的物件。

對於操作符過載,我們有哪些限制條件呢?

1、過載後的操作符至少有乙個運算元是使用者定義的型別,防止使用者為標準型別過載操作符;

2、使用操作符不能違反原本的操作符的句法規則;如將 %求模操作符定義為乙個單目運算子  x%;

3、不能定義新的操作符,如@;

4、不能過載下面的操作符:

a.sizeof——sizeof操作符;

b.——句點操作符;

c*——成員指標操作符;

d::——作用域解析操作符;

e?:——條件操作符;

ftypeid——乙個rtti操作符;

gconst_cast——強制型別轉換操作符;static_castdynamic_castreinterrupt_caststatic_cast;

5、只能通過成員函式進行過載的操作符主要有:

=  ——賦值操作符

()——函式呼叫操作符

——下標操作符

->——通過指標訪問類成員的操作符。

主要通過閱讀c++ primer plus而摘抄的讀書筆記。

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