**過載**包括函式過載和運算子過載,既同名函式可以用以實現不同功能,同乙個運算子可以有不同的功能。
1.函式過載
在同乙個作用域中,可以宣告幾個功能類似的同名函,但這些同名函式的形式引數(引數的個數、型別、順序)必須不同。
簡單來說就是該函式實際使用過程中根據其代入形參的型別、順序以及個數來確定具體執行哪一種功能。
2.運算子過載
運算子過載實質上可以理解為用乙個函式重新定義某乙個運算子的功能,當使用到該運算子時,呼叫函式來實現對應功能。
運算子過載語法格式如下:
返回值型別 operator 運算子名稱 (形參列表)
c++中不可以過載的運算子有:
成員訪問符(.)、 成員指標訪問運算子(.* 、->*) 、 域運算子(::)、
長度運算子(sizeof)、條件運算子(?:) 、 預處理運算子(#)
其餘均可進行過載,例如:
雙目運算子: +、-、、/、%;
關係運算子:==、 !=、<、>、<=、>=;
邏輯運算子:|| 、 && 、!;
單目運算子: +(正)、-(負)、(指標)、&(取位址);
自增自減運算子: ++ 、 — — ;
位運算子:| 、 & 、 ~、^ 、 <<、 >>;
賦值運算子: = 、 += 、–=、*= 、/=、%=、 &=、|=、^=、<<= 、>>=;
空間操作: new 、delete 、 new[ ] 、delete[ ];
此外還有:(),—>(成員訪問)、 , 、[ ]
C 學習筆記 函式過載
c 函式過載詳解 我們在開瓶瓶罐罐的時候,經常會遭遇因各種瓶口規格不同而找不到合適的工具的尷尬。所以有時候就為了開個瓶,家裡要備多種規格的開瓶器。同樣是開個瓶子嘛,何必這麼麻煩?於是有人發明了多功能開瓶器,不管啤酒瓶汽水瓶還是軟木塞的紅酒瓶都能輕鬆開啟。然而開瓶器的問題也會發生到程式設計中。比如我們...
c 學習筆記 過載轉換
我們在寫類的時候有時會把類,轉化為基本型別,或者把基本型別轉化為我們設計的類 1.自定義類轉化到基本型別,需要過載 2.基本型別轉化到自定義的類,則是由該類的建構函式完成的 第一種 include include includeusing namespace std class complex co...
C 學習筆記 函式過載
1 什麼是函式過載 c 允許在同一作用域中宣告幾個功能類似的同名函式,這些同名函式的形參列表 引數個數 型別 順序 必須不同,常用來處理實現功能類似資料型別不同的問題。int add int a,int b double add double a,double b int main 注意 main函...