運算重載符不可以改變語法結構、不可以改變操作數的個數、不可以改變優先級、不可以改變結合性。
自定義類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 -> () |