C++ 內置運算符僅支持基本類型,運算符重載通過函數重載機制,讓自定義類型(如類)也能使用 +、-、== 等運算符,提升代碼可讀性。
每個運算符對應一個運算符函數,編譯期將表達式轉換為函數調用。例:a + b → operator+(a, b)。
返回類型 類名::operator@(參數列表) {
// @ 為運算符符號
}
this 指針,參數個數比運算元少一個(右運算元)。=、()、[]、->(必須為成員)。friend 返回類型 operator@(參數列表);
+、-、<<、>>),保持對稱性。=、()、[]、-> 不能 為友元。.、.*、::、?:。<</>>)。const 引用或值,避免 (a+b)=c 等誤用。