operator overloading (操作符重載-1, 成員函數) this
- 理解操作符重載,如 c2 += c1:
- c2是左值,c1是右值,+=作用在c2上
- 如果左邊的類型定義了這個操作,編譯器就可以找到並且調用
- 注意
- 所有成員函數隱藏了一個參數,this,誰調用這個函數,this就指向誰
- return by reference 語法分析
- 傳遞着不需要知道接收者以reference 形式接收(相比pointer)
- 返回不是void的原因:連續賦值加
- c1先加到c2,c2再加到c3
- 如果是void,c2 += c1 的值是void,後續不能再加到c3
operator overloading (操作符重載-2, 非成員函數) (無this)
- 不可以 return by reference,因爲返回局部變量
- return的時候直接typename()創建臨時變量
重載 正負 + / - 、 重載 ==、重載 <<