版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗內(nèi)容:(1)定義一個人員類Person,包括姓名、編號、性別等數(shù)據(jù)成員和用于輸入、輸出的成員函數(shù),在此基礎(chǔ)上派生出學(xué)生類Student類(增加成績)和教師類Teacher(增加教齡),并實現(xiàn)對學(xué)生和教師信息的輸入和輸出。實驗源代碼:#include<iostream>〃編譯預(yù)處理命令usingnamespacestd;//使用命名空間std#ifndefPERSONH#definePERSONHclassPerson//聲明類PersonclassPersoncharname[18];//姓名intnum;//編號charsex[3];〃性別public:charcharname[18];//姓名intnum;//編號charsex[3];〃性別public:charna[18],se[3];intnu;Person(){}〃構(gòu)造函數(shù)voidImput()〃輸入信息cout<<"請輸入姓名:”;cin>>na;cout<<"請輸入編號:”;cin>>nu;cout<<"請輸入性別:”;cin>>se;voidSet()voidSet()〃設(shè)置信息strcpy(name,na);num=nu;strcpy(sex,se);};voidShow()const;〃顯示信息函數(shù)定義聲明};voidShow()const;〃顯示信息函數(shù)定義聲明#endif//Student.h:#include<iostream>//編譯預(yù)處理命令using#include<iostream>//編譯預(yù)處理命令usingnamespacestd;〃使用命名空間std#ifndefSTUDENTHclassStudent:publicPerson//聲明類Studentprotected:doublerecord;//成績public:doublere;Student(){}〃構(gòu)造函數(shù)Student(){}〃構(gòu)造函數(shù)voidImput()cout<<"請輸入學(xué)生的信息:"<<endl;Person::Imput();〃調(diào)用基類成員函數(shù)Imput()cout<<"請輸入成績:”;cin>>re;voidSet()Person::Set();〃調(diào)用基類成員函數(shù)Person::Set();〃調(diào)用基類成員函數(shù)Set()record=re;voidShow()const;};#endif//Teacher.h:#include<iostream>〃編譯預(yù)處理命令usingnamespacestd;//使用命名空間std#ifndefTEACHERH#defineTEACHERHclassTeacher:publicPersonprotected://教齡intage;//教齡intag;Teacher(){}//Teacher(){}//構(gòu)造函數(shù)voidImput()cout<<endl<<"請輸入教師的信息:"<<endl;Person::Imput();〃調(diào)用基類成員函數(shù)Imput()cout<<"請輸入教齡:”;cin>>ag;)voidSet()(Person::Set();〃調(diào)用基類成員函數(shù)Set()age=ag;)voidShow()const;);#endif//Person.cpp:#include"Person.h"voidPerson::Show()const〃顯示信息函數(shù)定義(cout<<"姓名:"<<name<<endl;cout<<"編號:"<<num<<endl;cout<<"性別:"<<sex<<endl;)//Student.cpp:#include"Person.h"#include"Student.h"voidStudent::Show()const(cout<<endl<<"學(xué)生的信息為:"<<endl;Person::Show();〃調(diào)用基類成員函數(shù)Show()cout<<"成績:"<<record<<endl<<endl;)//Teacher.cpp:#include"Person.h"#include"Teacher.h"voidTeacher::Show()const(cout<<"教師的信息為:"<<endl;Person::Show();〃調(diào)用基類成員函數(shù)Show()cout<<"教齡:"<<age<<endl<<endl;)//main.cpp:#include"Person.h"#include"Student.h"#include"Teacher.h"intmain()Students;s.Imput();s.Set();Teachert;t.Imput();t.Set();s.Show();t.Show();system("PAUSE");return0;〃定義對象s〃輸入學(xué)生信息//設(shè)置學(xué)生信息〃定義對象t〃輸入教師信息〃設(shè)置教師信息〃顯示學(xué)生信息〃顯示教師信息aa'alsm2n9名#:.刖績亍姓編性成入入入入入Mls0u科a2n5師鐸號別島是編性教生的信息為〉名:man:@048S^ljf!nan績二州實驗結(jié)果"^#實驗結(jié)果"^#=20125456性別(2)定義一個抽象類Shape,包含純虛函數(shù)Area()(用來計算面積)和SetShape()(用來重設(shè)形狀大小)。然后派生出三角形類Triangle類、矩形Rect類、圓Circle類,分別求其面積。最后定義一個Total_Area類,計算這幾個形狀的面積之和,各形狀的數(shù)據(jù)通過Total_Area類的構(gòu)造函數(shù)或成員函數(shù)來設(shè)置。編寫一個完整的程序。實驗源代碼://Shape.h:classShape〃聲明抽像類Shape(public:〃純虛函數(shù)Area()〃純虛函數(shù)SetShape()〃純虛函數(shù)Area()〃純虛函數(shù)SetShape()virtualvoidSetShape()=0;);#endif//Triangle.h:#ifndefTRIANGLE_H#defineTRIANGLE_H#include"Shape.h"〃聲明三角形類Triangle〃底//高〃參數(shù)為空的構(gòu)造函數(shù)〃聲明三角形類Triangle〃底//高〃參數(shù)為空的構(gòu)造函數(shù)〃返回三角形面積〃重設(shè)三角形的大小doubleE;doubleH;public:Triangle(){)Triangle(doublee,doubleh):E(e),H(h){)doubleArea(){return0.5*E*H;}voidSetShape();};#endif//Rect.h:#ifndefRECT_H#defineRECT_H#include"Shape.h"〃聲明矩形類Rect〃長//寬〃參數(shù)為空的構(gòu)造函數(shù)〃聲明矩形類Rect〃長//寬〃參數(shù)為空的構(gòu)造函數(shù)//返回矩形面積//重設(shè)矩形的大小doubleL;doubleW;public:Rect(){}Rect(doublel,doublew):L(l),W(w){}doubleArea(){returnL*W;}voidSetShape();};#endif//Circle.h:#ifndefCIRCLE_H#defineCIRCLE_H#include"Shape.h"classCircle:publicShape(private:doubleR;public:Circle(){)Circle(doubler):R(r){}doubleArea(){return3.1415926*R*R;}voidSetShape();};#endif//Total_Area.h:#include<iostream>#include"Triangle.h"#include"Rect.h"#include"Circle.h"usingnamespacestd;#ifndefTOTAL_AREA_H#defineTOTAL_AREA_HclassTotal_Area{private:Shape*a[3];public:〃聲明圓類Circle//半徑〃參數(shù)為空的構(gòu)造函數(shù)〃返回圓的面積〃重設(shè)圓的大小//編譯預(yù)處理命令〃使用命名空間〃聲明類Total_Area〃定義抽象類Shape類型的數(shù)組指針Total_Area(doubleTe=0,doubleTh=0,doubleRl=0,doubleRw=0,doubleCr=0)〃分配空間{a[0]=newTriangle(Te,Th);a[1]=newRect(Rl,Rw);a[2]=newCircle(Cr);}~Total_Area()//析構(gòu)函數(shù){deletea[0];deletea[1];deletea[2];)voidSetShape()(a[0]->SetShape();a[1]->SetShape();a[2]->SetShape();)doubleGetTriangle(){returna[0]->Area();)doubleGetRect(){returna[1]->Area();)doubleGetCircle(){returna[2]->Area();)doubleGetArea(););#endif//Triangle.cpp:#include"Triangle.h"#include<iostream>usingnamespacestd;voidTriangle::SetShape(){cout<<"請輸入重設(shè)的三角形的底和高:"<<endl;cin>>E>>H;)//Rect.cpp:#include"Rect.h"#include<iostream>usingnamespacestd;voidRect::SetShape(){cout<<"請輸入重設(shè)的矩形的長和寬:"<<endl;cin>>L>>W;)//Circle.cpp:#include"Circle.h"#include<iostream>usingnamespacestd;voidCircle::SetShape(){cout<<"請輸入重設(shè)的圓的半徑:"<<endl;cin>>R;)〃設(shè)置形狀的大小〃返回三個形狀的面積和//編譯預(yù)處理命令〃使用命名空間//編譯預(yù)處理命令〃使用命名空間//編譯預(yù)處理命令〃使用命名空間//Total_Area.cpp:#include"Total_Area.h"doubleTotal_Area::GetArea()returna[0]->Area()+a[1]->Area()+a[2]->Area();//main.cpp:〃編譯預(yù)處理命令〃使用命名空間#include<iostream>#include"Shape.h"#include"Triangle.h"#include"Rect.h"#include"Circle.h"#include"TotalArea.h"usingnamespacestd;intmain()〃主函數(shù)main()(〃編譯預(yù)處理命令〃使用命名空間cout<<"輸入的三角形的底和高,矩形的長和寬,圓的半徑為:2和4,3和5,6"<<endl;Total_Areas(2,4,3,5,6);〃定義對象scout<<"這個三角形的面積為:"<<s.GetTriangle()<<endl;cout<<"這個矩形的面積為:"<<s.GetRect()<<endl;cout<<"這個圓的面積為:"<<s.GetCircle()<<endl;cout<<"這三個形狀面積之和為:"<<s.GetArea()<<endl<<endl;s.SetShape();〃調(diào)用重設(shè)形狀大小函數(shù)cout<<"重設(shè)的三角形的面積為:"<<s.GetTriangle()<<endl;cout<<"重設(shè)的矩形的面積為:"<<s.GetRect()<<endl;cout<<"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康生活方式的多元化發(fā)展考核試卷
- 信用合作社金融糾紛解決與法律援助考核試卷
- 二零二五年度二手房買賣合同(含家居安全檢測)3篇
- 篩沙機機械原理課程設(shè)計
- 2025年全球及中國接觸力傳感導(dǎo)管行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球光束擋板行業(yè)調(diào)研及趨勢分析報告
- 點陣顯示課程設(shè)計
- 預(yù)制柱吊裝課程設(shè)計
- 電熱窯爐課程設(shè)計
- 閱讀詩詞校本課程設(shè)計
- 15.5-博物館管理法律制度(政策與法律法規(guī)-第五版)
- 水泥廠鋼結(jié)構(gòu)安裝工程施工方案
- 2023光明小升初(語文)試卷
- 三年級上冊科學(xué)說課課件-1.5 水能溶解多少物質(zhì)|教科版
- GB/T 7588.2-2020電梯制造與安裝安全規(guī)范第2部分:電梯部件的設(shè)計原則、計算和檢驗
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 小學(xué)道德與法治學(xué)科高級(一級)教師職稱考試試題(有答案)
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 實用性閱讀與交流任務(wù)群設(shè)計思路與教學(xué)建議
- 應(yīng)急柜檢查表
- 通風(fēng)設(shè)施標準
評論
0/150
提交評論