一、定義為成員函數的運算符
1. 指派、調用、下标、成員通路箭頭運算符(=、()、[]、->)
2. 改變對象狀态的運算符或者與給定類型密切相關的運算符(遞增++、遞減--、解引用*)
3. 複合指派運算符(注:它也可以定義為非成員函數)
二、定義為非成員函數的運算符
1. 具有對稱性的,即能轉換任意一端的運算對象的運算符(算術、相等性、關系、位運算符)
2. 輸入輸出運算符
三、為什麼一定要定義為成員函數
string s;
// 指派運算符=是string的成員函數
s = "world"; // 正确
"world" = s; // 錯誤