c++ 運算符重載


運算重載符不可以改變語法結構、不可以改變操作數的個數、不可以改變優先級、不可以改變結合性。

 自定義類Object,重載運算符:

算術運算符
 運算符  說明 成員函數原型 全局函數原型
前++ 自身加1 Object& Object::operator ++ ()  
后++ 自身加1 Object Object::operator ++ (int)  
前-- 自身減1 Object& Object::operator -- ()  
后-- 自身減1 Object Object::operator -- (int)  
+ Object Object::operator + (const Object&) Object operator + (const Object&, const Object&)
- Object Object::operator - (const Object&) Object operator - (const Object&, const Object&)
* Object Object::operator * (const Object&) Object operator * (const Object&, const Object&)
/ Object Object::operator / (const Object&) Object operator / (const Object&, const Object&)
% 取余 Object Object::operator % (const Object&) Object operator % (const Object&, const Object&)
- 負號 Object operator - ()  

 

邏輯運算符

邏輯運算符
運算符 說明 成員函數原型 全局函數原型
&& bool Object::operator && (const Object&) Object operator && (const Object&, const Object&)
|| bool Object::operator || (const Object&) Object operator || (const Object&, const Object&)
! 邏輯非 bool Object::operator ! ()  

 位運算符

位運算符
運算符 說明 成員函數原型 全局函數原型
& 位且 Object Object::operator & (const Object&) Object operator & (const Object&, const Object&)
| 位或 Object Object::operator | (const Object&) Object operator | (const Object&, const Object&)
^ 異或 Object Object::operator ^ (const Object&) Object operator ^ (const Object&, const Object&)
~ 按位取反 Object Object::operator ~ ()  
<< 左移 Object Object::operator << (int)  Object operator << (const Object&, int)
>> 右移 Object Object::operator >> (int)  Object operator >> (const Object&, int)

 

 關系運算符

關系運算符
運算符 說明 成員函數原型 全局函數原型
= 賦值 Object& Object::operator = (const Object& other)  
== 相等 bool Object::operator == (const Object& other)  bool operator == (const Object&, const Object&)
!= 不相等 bool Object::operator != (const Object& other)  bool operator != (const Object&, const Object&)
< 小於 bool Object::operator < (const Object& other)  bool operator < (const Object&, const Object&)
<= 小於等於 bool Object::operator <= (const Object& other)  bool operator <= (const Object&, const Object&)
 >  大於 bool Object::operator > (const Object& other)  bool operator > (const Object&, const Object&)
>= 大於等於 bool Object::operator >= (const Object& other)  bool operator >= (const Object&, const Object&)

成員運算符

成員運算符
運算符  說明  成員函數原型 全局函數原型
->  指針,可用於智能指針的封裝,Type為其他類型  Type* Object::operator -> ()  


免責聲明!

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



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