過載的定義,在乙個類中公用同乙個方法名,但是引數型別或者引數個數不同。如果僅僅有方法返回值型別不同,不能構成函式的過載。
上面僅僅說了函式的過載,還有一些操作符過載呢?
還是先列出c++有哪些操作符吧!
操作符可分為9個大類,分別為:
1.賦值運算子:『=』,注意這裡不是等於的意思,只是單純的賦值
2.算術運算子:單目操作符』+『、』-『(一元正、負號),+,-,*,/,%,(加、減、乘、除、取餘)
3.邏輯運算子:&&,||,!
4.關係運算子:>,<,=,>=,<=,==,!=
5.位操作符:~(求反),<<(左移),>>(右移),&(位與),^(位異或),|(位或)
6.自增自減運算子:++,--(注意此類運算子可在前在後,但是運算子在前的話,是先自加1,然後再使用;而運算子在後的話,先使用然後再加1)
7.復合賦值運算子:+=,-=,*=,/=,%=(模運算賦值),<<=(左移賦值),>>=(右移賦值),&=(位邏輯與賦值),|=(位邏輯或賦值),^=(位邏輯異或賦值),
8.條件運算子:?:(條件運算子作為c/c++中唯一的三元運算子)
9.逗號運算子:,(逗號表示式是一組由逗號分隔的表示式,這些表示式從左到右計算。並且逗號表示式的結果是其最右表示式的值,例如表示式「a= (b=2,c=7,d=5);",那麼a的值為5,而表示式「a=b=2,c=7,d=5;",此時a的值為2,因為賦值運算子的優先順序比逗號運算高)
常見的一些的操作符:
2.解引用操作符:*
3.呼叫操作符:( () ),呼叫操作符是一對圓括號,括住傳遞給函式的實參列表
4.箭頭操作符:->(c++為包含點操作符和解引用操作符的表示式提供的乙個同義詞)
5.作用域操作符:::(全域性作用域、類作用域、名字空間作用域)
6.點操作符:. (點操作符的右運算元不是物件或值,而是成員的名字)
7.下標操作符:
8.new/delete()操作符:
9.指向成員操作的指標操作符:->*,.*
10.輸入和輸出操作符:>>、<<
不可操作的操作符比較少,可直接列出來:
作用域操作符:::
條件操作符:?:
點操作符:.
指向成員操作的指標操作符:->*,.*
預處理符號:#
sizeof
.、.*運算子不能過載是為了保證訪問成員的功能不能被改變,域運算符合sizeof運算子的運算物件是型別而不是變數或一般表示式,不具備過載的特徵。
c 中不能過載的運算子
算術運算子 位操作運算子 位異或 左移 右移 邏輯運算子 比較運算子 賦值運算子 其他運算子 逗號運算子 new,delete,new,delete,不能過載的5個運算子 siezof 1.運算子過載後,優先順序和結合性怎麼辦?使用者過載新定義運算子,不改變原運算子的優先順序和結合性。這就是說,對運...
c 中不能過載的運算子
算術運算子 位操作運算子 位異或 左移 右移 邏輯運算子 比較運算子 賦值運算子 其他運算子 逗號運算子 new,delete,new,delete,不能過載的5個運算子 siezof 1.運算子過載後,優先順序和結合性怎麼辦?使用者過載新定義運算子,不改變原運算子的優先順序和結合性。這就是說,對運...
C 中不能過載的運算子
c 中不能過載的運算子 sizeof 和 原因如下 在具體講解各個運算子不能過載之前,先來說明下 過載 過載的本意是讓操作符可以有新的語義,而不是更改語法 否則會引起混亂。注 過載的部分規則 運算子函式的引數至少有乙個必須是類的物件或者類的物件的引用。1 運算子,假如能夠過載,那麼問題來了,看下面的...