c++運算符重載的規則是什么
小億
95
2024-01-19 15:43:17
C++運算符重載的規則如下:
- 不能重定義原有的運算符的優先級和結合性。
- 不能重載以下運算符:
::
(作用域解析運算符)、.
(成員選擇運算符)、.*
(成員指針選擇運算符)、?:
(條件運算符)和sizeof
(sizeof運算符)。
- 不能重載以下運算符的含義:
&&
(邏輯與)、||
(邏輯或)和,
(逗號)。
- 重載運算符必須至少有一個操作數是用戶定義的類型,不能改變運算符的操作數數量。
- 重載運算符可以是成員函數或非成員函數,但是如果是非成員函數,至少有一個操作數必須是用戶定義的類型。
- 如果重載為成員函數,則操作數數目減一,如果重載為非成員函數,則操作數數目不變。
- 不能修改運算符的操作數的語義。
- 重載為非成員函數時,參數個數應該與該運算符在所有操作數上的操作數個數相等,如果是成員函數,則參數個數比該運算符在所有操作數上的操作數個數少一個。
- 重載運算符不能改變其優先級和結合性。
- 重載的運算符必須保留其原始的基本意義,不應該對其進行過度的重載以避免造成困惑和不必要的復雜性。
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女