C 中不能過載的運算子

2021-08-17 05:08:17 字數 1272 閱讀 6345

過載的定義,在乙個類中公用同乙個方法名,但是引數型別或者引數個數不同。如果僅僅有方法返回值型別不同,不能構成函式的過載。

上面僅僅說了函式的過載,還有一些操作符過載呢?

還是先列出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 運算子,假如能夠過載,那麼問題來了,看下面的...