如果運算子被過載為全域性函式,那麼只有乙個引數的運算子叫做一元運算子,有兩個引數的運算子叫做二元運算子。
如果運算子被過載為類的成員函式,那麼一元運算子沒有引數,二元運算子只有乙個右側引數,因為物件自己成了左側引數。
運算子即可以定義為全域性函式,也可以定義為成員函式。
= () ->只能過載為成員函式
不能過載的運算子
1、不能改變c++內部資料型別(如int float)的運算子
2、不能過載『.』,因為『.'在類中對任何成員都有意義。
3、不能過載c++運算子集合中沒有的符號,如#@$等。原因:難以理解,難以確定優先順序。
4、對已結存在的運算子進行過載時,不能改變優先順序規則。
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函...