一、實驗目的:
1、在實驗2
的基礎上,在類
person
中,以友元形式過載輸入輸出運算子〈〈、〉〉;
2、通過「cout
cout
display()
,顯示右值物件的資訊。
3、通過「cin>>teach
」或「cin>>stud
」,呼叫右值類的虛函式
setvalue()
,通過鍵盤輸入右值物件的資訊。
1 #include2 #include3 #include"view codestdafx.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
過載輸入輸出運算子
我們平時可以用流 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...