c++運算符重載的規則是什么
小億
83
2024-01-19 15:43:17
C++運算符重載的規則如下:
- 不能重定義原有的運算符的優先級和結合性。
- 不能重載以下運算符:
::
(作用域解析運算符)、.
(成員選擇運算符)、.*
(成員指針選擇運算符)、?:
(條件運算符)和sizeof
(sizeof運算符)。
- 不能重載以下運算符的含義:
&&
(邏輯與)、||
(邏輯或)和,
(逗號)。
- 重載運算符必須至少有一個操作數是用戶定義的類型,不能改變運算符的操作數數量。
- 重載運算符可以是成員函數或非成員函數,但是如果是非成員函數,至少有一個操作數必須是用戶定義的類型。
- 如果重載為成員函數,則操作數數目減一,如果重載為非成員函數,則操作數數目不變。
- 不能修改運算符的操作數的語義。
- 重載為非成員函數時,參數個數應該與該運算符在所有操作數上的操作數個數相等,如果是成員函數,則參數個數比該運算符在所有操作數上的操作數個數少一個。
- 重載運算符不能改變其優先級和結合性。
- 重載的運算符必須保留其原始的基本意義,不應該對其進行過度的重載以避免造成困惑和不必要的復雜性。
黎川县|
临漳县|
武隆县|
鄂尔多斯市|
玉树县|
尼玛县|
大方县|
怀柔区|
阿拉善右旗|
富裕县|
固原市|
元谋县|
普格县|
宜都市|
阿克苏市|
合江县|
朔州市|
武安市|
黎川县|
安阳市|
区。|
吐鲁番市|
东丰县|
体育|
凌海市|
商河县|
济南市|
千阳县|
中宁县|
南和县|
晋宁县|
达日县|
秭归县|
长汀县|
陆川县|
衡东县|
仪陇县|
克什克腾旗|
西安市|
长丰县|
巫山县|