過載輸入輸出運算子

2021-09-08 11:19:55 字數 1563 閱讀 9575

一、實驗目的:

1、在實驗2

的基礎上,在類

person

中,以友元形式過載輸入輸出運算子〈〈、〉〉;

2、通過「cout

cout

display()

,顯示右值物件的資訊。

3、通過「cin>>teach

」或「cin>>stud

」,呼叫右值類的虛函式

setvalue()

,通過鍵盤輸入右值物件的資訊。

1 #include2 #include3 #include"

stdafx.h

"4 #include

5using

namespace

std;67

class

tdate

15 tdate(int year,int month,int

day)

2021

};22

23class person:public

tdate

33 person(int id,string name,string ***,int year,int month,int

day):tdate(year,month,day)

3439

virtual

void

display()

4044

};45

int person::count=0;46

47class teacher:public

person

56 teacher(string title,string dept,int id,string name,string ***,int year,int month,int

day):person(id,name,***,year,month,day)

5763

virtual

void

display()

6473 friend ostream &operator

<

7479

};80

class student:public

person

89 student(int id,string name,string ***,int year,int month,int day,string major,string

grade):person(id,name,***,year,month,day)

9096

virtual

void

display()

97106

virtual

void

setvalue()

107124 friend ostream &operator

<

125130 friend istream &operator>>(istream &in,student &ob)

131135

};136

intmain()

137

view code

過載輸入輸出運算子

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

過載輸入輸出運算子

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

輸入輸出運算子過載

過載 為了更方便實現複雜物件的輸入輸出 只貼出關鍵 多餘的就不貼了.輸出運算子過載 成員函式 ostream operator ostream os ostream boy operator ostream os include include boy.h intmain void int main...