c 流與輸入輸出運算子的過載

2021-09-24 05:41:24 字數 1352 閱讀 7209

問題:

什麼叫做流?流的提取和插入是指什麼?i/o 流在 c++中起著怎樣的作用?

解答:

流是一種抽象,它負責在資料的生產者和資料的消費者之間建立聯絡,並管理資料的流動,一般意義下的讀操作在流資料抽象中被稱為(從流中)提取,寫操作被稱為(向流中)插入。作業系統是將鍵盤、螢幕、印表機和通訊埠作為擴充檔案來處理的,i/o 流類就是用來與 這些擴充檔案進行互動,實現資料的輸入與輸出。

c++ 能夠使用流提取運算子 >> 和流插入運算子 << 來輸入和輸出內建的資料型別。您可以過載流提取運算子和流插入運算子來操作物件等使用者自定義的資料型別。在這裡,有一點很重要,我們需要把運算子過載函式宣告為類的友元函式,這樣我們就能不用建立物件而直接呼叫函式。

下面的例項演示了如何過載提取運算子 >> 和插入運算子 <<。

#include

using namespace std;

class distance

distance

(int f,

int i)

friend ostream &operator<<

( ostream &output,

const distance &d )

friend istream &operator>>

( istream &input, distance &d )};

intmain()

當上面的**被編譯和執行時,它會產生下列結果:

$.

/a.out

enter the value of object :

7010

first distance : f :

11 i :

10second distance :f :

5 i :

11third distance :f :

70 i :

10

習慣上人們是使用 cin>> 和 cout<< 的,得使用友元函式來過載運算子,如果使用成員函式來過載會出現 d1《下面這個例項展示了如果運用成員函式來過載會出現的情況d1<#include

using namespace std;

class distance

distance

(int f,

int i)

ostream& operator<<

( ostream & os)};

int main (

)執行結果 :

英吋:20

英呎:18

關於過載流輸入輸出運算子

盡可能簡潔清晰的向同我一樣的小白們寫範例以便於理解。以下為單獨的流輸出過載 include include using namespace std class t 建構函式,並賦初始值 private double aa double bb ostream operator ostream outp...

過載輸入輸出運算子

我們平時可以用流 std cout str n 輸出 輸入字串和整型等內建型別的值。但是對於我們自定義的類,比如 student 類,卻不能直接通過 cout student 這樣的形式來輸出類的內容或給類賦值。怎麼辦呢?我們可以通過過載輸出 輸入運算子,讓自定義的類也支援這樣的操作。通常情況下,輸...

過載輸入輸出運算子

過載輸入輸出運算子 過載輸出運算子 第二個引數一般來說是乙個常量的引用,該常量是我們想要輸出的類型別。用引用是因為我們希望避免複製實參 用常量是因為通常列印物件的時候不需要改變物件的內容 輸出運算子應儘量減少格式化的操作,尤其是換行符,這樣有利於使用者對輸出格式的控制。一般會宣告為友元函式 frie...