過載 操作符 c primer

2021-05-24 09:17:18 字數 564 閱讀 2476

istream& operator>>(istream& in, sales_item& s)

double price;

in >> s.isbn >> s.units_sold >> price;

// check that the inputs succeeded

if (in)

s.revenue = s.units_sold * price;

else

s = sales_item(); // input failed: reset object to default state

return in;}

when designing an input operator, it is important to decide

what to do about error-recovery, if anything.

因為一旦你過載輸入操作符的時候,給類的資料成員賦值的話,那麼有可能3個資料成員只賦值成功了兩個,那麼這個時候,這個物件就處在乙個錯誤的狀態,所以關於輸入的錯誤,應該注意處理。輸入的資料是不是我們想要的格式,這個也是需要檢查的。

C Primer 過載操作符與轉換

1.不能通過連線其他合法符號來建立任何新的操作符,例如試圖定義乙個operator 操作符以提供求冪操作是非法的 用於內建型別的操作符其含義不能改變,例如 int operator int,int 就是非法的 也不能為任何內建型別定義額外的新的操作符,例如不能定義接受兩個陣列型別運算元的operat...

操作符過載

ifndef vertex h define vertex h class vertex vertex float px float py float pz vertex operator const vertex p vertex operator const vertex p void oper...

操作符過載

1.操作符是靜態方法,返回值表示操作結果,引數是運算元。2.操作符過載需要在過載的操作符前加上operator關鍵字。3.最好少用操作符過載,只有在意義明晰而且與內建類的操作一致時才適合使用,以免造成混亂。以建立的分數類 fraction 中的 為例,該分數類中有兩個int型的私有屬性 分子 num...