運算符重載

重載的運算符(有些例外情況)不必是成員函數,但必須至少有一個操作數是用戶定義的類型。
C++對用戶定義的運算符重載的限制:

  1. 重載後的運算符必須至少有一個操作數是用戶定義的類型,這將防止用戶爲標準類型重載運算符。
  2. 使用運算符不能違反運算符原來的句法規則。即加法運算不能只有一個操作數等。同樣不能改變運算符的優先級。
  3. 不能創建新運算符
  4. 不能重載以下運算符
.    :  成員運算符
.*   : 成員指針運算符
::   :  作用域解析運算符
?:  : 條件運算符
typeid    :  一個RTTI運算符
const_cast  : 強制類型轉換運算符
dynamic_cast   :強制類型轉換運算符
reinterpret_cast   :強制類型轉換運算符
static_cast      :強制類型轉換運算符
  1. 下面的運算符只能通過成員函數進行重載
= :賦值運算符
() :函數調用運算符
[]  :下標運算符
->  : 通過指針訪問類成員運算符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章