運算符重載


 

1、符號重載:

 c++符號增加支持自定類型的操作數.實際是一個特殊函數.函數名為:

    operator 符號
  

c++ 支持可重載符號:
   算術運算符:+,-,*,/,%,++,--
   位操作運算符:&,|,~,^,<<,>>
   邏輯運算符:!,&&,||;
   比較運算符:<,>,>=,<=,==,!=;
   賦值運算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
   其他運算符:[],(),->,,(逗號運算符)
   operator new  operator new[]  operator delete  operator delete[]
 

2、c++ 不支持重載的符號:
   . 成員選擇
   .* 通過到成員的指針做成員選擇
   :: 作用域解析
   ?: 三元條件運算符
   sizeof


3、  符號重載語法:
     返回值類型  operator 符號(參數列表);


4、 符號重載特點:
  1.不是創建一個新符號
  2.不改變符號優先級
  3.不改變符號的結合性
  4.不改變符號操作個數
 
5、 符號重載定義兩個方式:
  1.類的成員函數
  2.友元函數
  類的成員函數重載,如果重載符號需要兩個操作數,在定義是只需要一個參數,另一個用this代替
  如果重載符號需要一個操作數,在定義是無參,用this代替
  =,(),[] 和-> 只能使用成員函數方式重載

  友元函數:重載符號需要幾個操作數就定義幾個參數.
 >>  << 只能使用友元函數方式重載
  
6、 前置++:即++運算符位於操作數的前面,例如:++i;
 后置++:即++運算符位於操作數后面,例如:i++;
 注意一下幾點:
 1、前置++重載時沒有參數,而后置++重載時有參數。不會使用其參數,僅僅是區分用。
       可以理解為前置++后面有參數了,所以不需要參數
 2、前置++需要返回引用,因為重載自加運算符后可以返回對象的引用,
      以方便在表達式中連續使用。而后置++返回的不是引用,所以不能進行連續使用。

 

復數:a+bi

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM