關於過載流插入運算子和流提取運算子的問題

2021-07-25 06:09:11 字數 698 閱讀 4995

在c++編譯系統中,其類庫中提供輸入流類istream和輸出流類ostream,cin和cout分別是兩個類的物件

過載兩運算子格式如下:

istream & operator >> (istream &, 自定義類 &);

ostream & operator << (ostream &, 自定義類 &);

並且只能將其過載為友元函式,而不能作為自定義類的成員函式, 原因如下:

定義為成員函式,那麼就隱含this指標了,你要知道過載其實也是一種函式,那麼函式就有呼叫他的物件。如果是成員函式,那麼呼叫他的物件就肯定是相對應的類物件了,

但是《和》呼叫的物件肯定只能是cout或者cin,那麼就不能定義為成員函式了,只有定義成友元,那麼就可以把cin,cout作為乙個引數傳進你過載的操作符函式裡面去了。

如果一定要定義為成員函式,則**示例如下:

ostream & operator<<(ostream &output)

所以在運用這個《運算子時就變為這種形式了:data<
還有如何判斷呼叫的是否是過載的流插入符還是預定義的流插入符。
int main()

{time t1;

cout<

過載流插入運算子《和流提取運算子》

includeclass complex complex double r,double i complex operator complex c2 friend ostream operator ostream output,complex c private double real double...

過載流插入運算子和流提取運算子

有兩個矩陣a和b,均為2行3列。求兩個矩陣之和。過載運算子 使之能用與矩陣相加,如c a b。過載流插入運算子 和流提取運算子 使之能用與該矩陣的輸入和輸出,如cin a,cout 我是剛學習c de菜鳥 源 如下 include using namespace std class matrix m...

過載之過載流插入和流提取運算子

c 的流插入運算子 和流提取運算子 是c 在類庫中提供的,所有c 編譯系統都在類庫中提供輸入流類istream和輸出流類ostream。cin和cout分別是istream類和ostream類的物件。在類庫提供的標頭檔案中已經對 和 進行了過載,使之作為流插入運算子和流提取運算子,能用來輸出和輸入c...