算術操作符和關係操作符(1)

2021-06-06 02:09:29 字數 480 閱讀 3441

建議模式:用+=操作而不是+,省去了複製物件

習題14.12,是用+=去呼叫+,缺點自然是複製很多次,不過為什麼會出錯,this不是和rhs一樣的引用麼?因為是成員函式,this錯在哪了

inline

sales_item& sales_item::operator+=(const sales_item &rhs)

sales_item

operator+(const sales_item& lhs, const sales_item& rhs)

根據原示例類

== 和 != 配套出現,而!=通過呼叫==而大大簡化** return !(lhs == rhs);

注意成員函式的const屬性,this對函式性質的要求較高(eg. same_isbn())

review:inline不是必須配合類內的,在外邊也可以用,就是一種優化

關係操作符和邏輯操作符

關係操作符和邏輯操作符使用算術或指標型別的運算元,並返回bool 型別的值。操作符功能用法 logical not 邏輯非 expr less than 小於 expr expr less than or equal 小於等於 expr expr greater than 大於 expr expr ...

過載算術操作符

過載算術操作符 有兩種寫法,分別是在類內過載操作符和過載全域性操作符,兩種方法大同小異,以類內過載操作符為例 假設有乙個分數類 class fraction fraction int n,int d num n den d 過載加號操作符 fraction operator const fracti...

前置操作符和後置操作符

操作符可以被過載 全域性函式和成員函式均可以進行過載 過載前置 操作符不需要額外的引數 過載後置 操作符需要乙個int型別的佔位引數 來看乙個例子 include include using namespace std class test intvalue test operator test o...