算術運算子
:+,-,*,/,%,++,--;
位操作運算子
:&,|,~,^(
位異或),<<(
左移),>>(右移)
邏輯運算子
:!,&&,||;
比較運算子
:<,>,>=,<=,==,!=;
賦值運算子
:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
其他運算子
:,(),->,,(
逗號運算子
),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...