1.先 += 再 +。利用+=在+中操作副本。
2.只需要制定一套該類之間的運(yùn)算符重載和一套該類與其他類型的轉(zhuǎn)換構(gòu)造函數(shù)即可實(shí)現(xiàn)該類與其他類型之間的運(yùn)算符重載。
3.+ - * /返回副本
a++ 返回延遲副本
關(guān)系運(yùn)算符返回bool
其他值運(yùn)算符(= += ++a等)返回引用(特別注意:不是常量引用。發(fā)現(xiàn)編譯器支持(a = b )= c 這種語法。說明帶=運(yùn)算符返回為引用。且邏輯上也說得通)
4. !=
{
return !( a == b );
}
5.+ - * /及關(guān)系運(yùn)算符不改變對象的值,應(yīng)該加const
6.對于+等雙向操作符,應(yīng)該定義為全局函數(shù)以實(shí)現(xiàn)交換律(考慮到利用+=來簡化操作并創(chuàng)建副本,可以一個參數(shù)接受副本,另一個參數(shù)接受常量引用)
7.利用<和==足夠?qū)崿F(xiàn)其他關(guān)系運(yùn)算符