運算子過載的實質
運算子過載其實是特殊形式的函式過載。在c++編譯系統中,運算子的功能都是通過呼叫相應的函式實現的。這類函式被稱為運算子函式,由關鍵字operator和對應的運算子組成函式名。運算子的運算元即為函式的形參。例如,兩個int型資料相加,5+2;
在編譯時解釋為operator+(5,2);
。因此運算子過載,實質上就是運算函式函式的過載。值得注意的是,c++中不允許對」.」,」::」,」*」,」?:」四種運算子進行過載。前三種運算子過載容易出現不必要的麻煩,而條件運算子則不值得過載。
此外,=、()、[ ] 、-> 四種運算子只能用類運算子來過載。
典型運算子過載舉例
插入符《過載
插入符函式:
ostream &operator <<(ostream &output,類名 & 物件名)
運算元說明: output是ostream類的物件的引用,即cout的別名
提取符過載同理,
istream &operator >>(istream&input,類名 &物件名)
為了區別 字首運算子和字尾運算子++,- -,規定字尾運算子有乙個int形參,不用給出引數名,僅僅作為區別標記。
c 運算子過載總結
目錄 1.一般運算子過載 2.關係運算子過載 3.邏輯運算子過載 4.單目運算子過載 5.自增減運算子過載 6.位運算子過載 7.賦值運算子過載 8.記憶體運算子過載 9.特殊運算子過載 10.總結c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔 ...
C 運算子過載總結
c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔 高效。在c 中不止函式可以過載,運算子也可以過載。由於一般資料型別間的運算子沒有過載的必要,所以運算子過載主要是物件導向之間的。1.一般運算子過載 在進行物件之間的運算時,程式會呼叫與運算子相對應的...
C 運算子過載總結
c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔 高效。在c 中不止函式可以過載,運算子也可以過載。由於一般資料型別間的運算子沒有過載的必要,所以運算子過載主要是物件導向之間的。在進行物件之間的運算時,程式會呼叫與運算子相對應的函式進行處理,所以運...