如何過載流操作符

2021-08-08 11:34:01 字數 473 閱讀 4055

為自己的類定義插入符和提取符,就是過載相關運算子:

* 第乙個引數定義成流的非const引用

* 執行插入或提取的操作

* 返回流的引用

流應該為非常量,因為處理資料將改變流的狀態.通過返回流,可以將多個流操作連線成一條語句.

考慮輸出mm-dd-yyyy格式的date物件:

ostream& operator

<<(ostream& os, const date& d)

這個函式不能設為data類的成員函式,因為左運算元必須是流物件.

使用提取符需要注意輸入資料錯誤的情況:

istream& operator>>(istream& is, date& d)

通過設定流的失敗標誌位可以表明流產生了錯誤,一旦標誌位被設定,在流恢復到有效狀態之前,所有流操作都會被忽略.

操作符過載

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...

過載操作符

1.過載操作符1.1 限制過載操作符具有以下限制 1 只有c 預定義的操作符集中的操作符才可以被過載 2 對於內建型別的操作符,它的預定義不能被改變,應不能為內建型別過載操作符,如,不能改變int型的操作符 的含義 3 也不能為內建的資料型別定義其它的操作符 4 只能過載類型別或列舉型別的操作符 5...