c 中不能過載的運算子

2021-06-25 07:09:25 字數 1060 閱讀 1114

算術運算子

:+,-,*,/,%,++,--;

位操作運算子

:&,|,~,^(

位異或),<<(

左移),>>(右移)

邏輯運算子

:!,&&,||;

比較運算子

:<,>,>=,<=,==,!=;

賦值運算子

:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;

其他運算子

:,(),->,,(

逗號運算子

),new,delete,new,delete,->*。 

不能過載的5個運算子

.  :

?: :

siezof :

::     :

.*     :

1. 運算子過載後,優先順序和結合性怎麼辦? 

使用者過載新定義運算子,不改變原運算子的優先順序和結合性。這就是說,對運算子過載不改變運算子的優先順序和結合性,並且運算子過載後,也不改變運算子的語法結構,即單目運算子只能過載為單目運算子,雙目運算子只能過載雙目運算子。 

2. 編譯程式如何選用哪乙個運算子函式? 

運算子過載實際是乙個函式,所以運算子的過載實際上是函式的過載。編譯程式對運算子過載的選擇,遵循著函式過載的選擇原則。當遇到不很明顯的運算時,編譯程式將去尋找引數相匹配的運算子函式。 

3. 過載運算子有哪些限制? 

(1) 不可臆造新的運算子。必須把過載運算子限制在c++語言中已有的運算子範圍內的允許過載的運算子之中。 

(2) 過載運算子堅持4個「不能改變」。 

·不能改變運算子運算元的個數;

·不能改變運算子原有的優先順序;

·不能改變運算子原有的結合性;

·不能改變運算子原有的語法結構。 

4. 運算子過載時必須遵循哪些原則? 

運算子過載可以使程式更加簡潔,使表示式更加直觀,增加可讀性。但是,運算子過載使用不宜過多,否則會帶來一定的麻煩。 

使用過載運算子時應遵循如下原則: 

(1) 過載運算子含義必須清楚。 

(2) 過載運算子不能有二義性

c 中不能過載的運算子

算術運算子 位操作運算子 位異或 左移 右移 邏輯運算子 比較運算子 賦值運算子 其他運算子 逗號運算子 new,delete,new,delete,不能過載的5個運算子 siezof 1.運算子過載後,優先順序和結合性怎麼辦?使用者過載新定義運算子,不改變原運算子的優先順序和結合性。這就是說,對運...

C 中不能過載的運算子

c 中不能過載的運算子 sizeof 和 原因如下 在具體講解各個運算子不能過載之前,先來說明下 過載 過載的本意是讓操作符可以有新的語義,而不是更改語法 否則會引起混亂。注 過載的部分規則 運算子函式的引數至少有乙個必須是類的物件或者類的物件的引用。1 運算子,假如能夠過載,那麼問題來了,看下面的...

c 中不能過載的運算子

c 運算子 算術運算子 位操作運算子 位異或 左移 右移 邏輯運算子 比較運算子 賦值運算子 其他運算子 逗號運算子 new,delete,new,delete,不能過載的總共五個 1 類成員訪問運算子 2 類成員指標訪問運算子 3 域運算子 4 siezof 和 typeid 長度運算子和rtti...