c++中不能重載的運算符

算術運算符:+,-,*,/,%,++,--;
位操作運算符:&,|,~,^(位異或),<<(左移),>>(右移)
邏輯運算符:!,&&,||;
比較運算符:<,>,>=,<=,==,!=;
賦值運算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
其他運算符:[],(),->,,(逗號運算符),new,delete,new[],delete[],->*。 

不能重載的5個運算符
.  :
?: :
siezof :
::     :
.*     :

1. 運算符重載後,優先級和結合性怎麼辦? 

  用戶重載新定義運算符,不改變原運算符的優先級和結合性。這就是說,對運算符重載不改變運算符的優先級和結合性,並且運算符重載後,也不改變運算符的語法結構,即單目運算符只能重載爲單目運算符,雙目運算符只能重載雙目運算符。 

2. 編譯程序如何選用哪一個運算符函數? 

  運算符重載實際是一個函數,所以運算符的重載實際上是函數的重載。編譯程序對運算符重載的選擇,遵循着函數重載的選擇原則。當遇到不很明顯的運算時,編譯程序將去尋找參數相匹配的運算符函數。 

3. 重載運算符有哪些限制? 

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

  (2) 重載運算符堅持4個“不能改變”。 

  ·不能改變運算符操作數的個數;
  ·不能改變運算符原有的優先級;
  ·不能改變運算符原有的結合性;
  ·不能改變運算符原有的語法結構。 

4. 運算符重載時必須遵循哪些原則? 

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

  使用重載運算符時應遵循如下原則: 

  (1) 重載運算符含義必須清楚。 

  (2) 重載運算符不能有二義性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章