c 學習 oop 過載輸入輸出操作符

2021-10-21 19:55:07 字數 931 閱讀 2430

/*

date: 11/03/21 18:55

description: 過載輸入輸出操作符

輸出操作符《過載

非成員函式->友元函式

少做格式化

輸入操作符過載》過載

處理輸入操作的錯誤

*/#include

using

namespace std;

class

sales_item

sales_item

(const string &book,

unsigned units,

double price)

:isbn

(book)

,units_sold

(units)

,revenue

(units*price)

friend ostream&

operator

<<

(ostream& out,

const sales_item& s)

;//友元函式

friend istream&

operator

>>

(istream& in,sales_item& s)

;private

: string isbn;

unsigned units_sold;

double revenue;};

ostream&

operator

<<

(ostream& out,

const sales_item& s)

istream&

operator

>>

(istream& in,sales_item& s)

intmain()

小河學習日記 C 輸入輸出操作符過載

cout 是ostream 型別的物件 cin 是istream型別的物件 如果 運算子實現為成員函式,那麼呼叫者應該是ostream istream,而我們無權增加標準庫的 因此 輸入輸出運算子只能定義為全域性函式 cout 類物件 istream is,const point p 在過載操作符時...

有元過載C 輸入輸出操作符(上篇)

1.一般來說c 標準型別的資料不需要過載 2.使用者自己定義的型別的資料,如我們在c 裡面最常使用的類,如果在類中要使用是不能直接用 和 來輸出和輸入的。如果想用它們輸出和輸入自己宣告的型別的資料,必須對它們過載。過載輸出操作符 操作符的過載有兩種版本,詳細解釋見下篇 此處說明第二種版本使用 為了與...

C 友元過載輸出操作符(下篇)

假設trip是乙個time物件。為顯示time的值,可以使用show 函式,然而,如果可以像下面這樣操作更好 cout trip make cout recognize time class?解釋 是可以被過載的c 運算子之一。cout是乙個 ostream 物件,它是智慧型的,能夠識別所有的c 基...