




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)成績(jī)批閱日期臺(tái)州學(xué)院電子與信息工程學(xué)院實(shí)驗(yàn)報(bào)告班級(jí) 學(xué)號(hào) 姓名 吳前斌 同組 實(shí)驗(yàn)課程: C+程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目: 類的繼承與派生 實(shí)驗(yàn)日期: 2019 年 5 月 5 日主要內(nèi)容(參考)預(yù)習(xí)簡(jiǎn)要(可選) 四、實(shí)驗(yàn)內(nèi)容、方法、步驟一、實(shí)驗(yàn)?zāi)康暮腿蝿?wù) 五、實(shí)驗(yàn)數(shù)據(jù)記錄與處理二、實(shí)驗(yàn)原理 六、實(shí)驗(yàn)結(jié)果分析、思考、心得三、實(shí)驗(yàn)器材 七、原始數(shù)據(jù)實(shí)驗(yàn)?zāi)康恼莆绽^承與派生的關(guān)系及方法;在派生類構(gòu)造函數(shù)中初始化基類成員;多重繼承的方法。實(shí)驗(yàn)內(nèi)容定義1個(gè)CPerson類,其屬性有:姓名
2、、性別和年齡。從CPerson類派生出CStudent類,增加屬性:學(xué)號(hào)、入學(xué)時(shí)間和入學(xué)成績(jī);從CPerson類派生出CTeacher類,添加屬性:職務(wù)、部門和工作時(shí)間;由CStudent類派生出CGraduate類,添加屬性:研究方向和導(dǎo)師;由CGraduate和CTeacher共同派生出在職研究生類CGradonWork對(duì)上述類分別定義其中的構(gòu)造函數(shù)和輸出函數(shù),并在主函數(shù)中定義對(duì)象進(jìn)行測(cè)試,測(cè)試的代碼大致如下:CGradonWork gradonWork(tzcer,男,33,15,2003,335,computer,tangmin,jsj,sxxy,2002-8);gradonWork.
3、Print();其中CGradonWork 的構(gòu)造函數(shù)參數(shù)分別對(duì)應(yīng)的屬性是一個(gè)在職的研究生對(duì)象,其姓名為tzcer,性別為男,33歲,學(xué)號(hào)15,2003年讀在職,入學(xué)成績(jī)335,就讀計(jì)算機(jī)方向,其導(dǎo)師tangmin,同時(shí)tzcer也是sxxy部門,jsj專業(yè)的老師,2002-8月入職。 要求記錄輸出信息并說(shuō)明實(shí)驗(yàn)步驟和解決方法!問(wèn)題:何為繼承二義性,在本實(shí)驗(yàn)中哪個(gè)地方存在二義性,你是如何解決的?定義形狀類,其中基類為點(diǎn)類,圓類繼承點(diǎn)類,圓柱體類繼承圓類,計(jì)算面積、體積。建立一個(gè)建筑物類的層次體系。其中,基類building包括保護(hù)數(shù)據(jù)成員name(建筑物名稱)、floors(層數(shù))和areas
4、(總面積),由building類派生住宅類house和辦公樓類office;住宅類house包括私有數(shù)據(jù)成員rooms(房間數(shù))和balcony(陽(yáng)臺(tái)數(shù));辦公樓類office包括私有數(shù)據(jù)成員offices(辦公室數(shù))和meetingrooms(會(huì)議室數(shù))。住宅類house和辦公樓類office都含有構(gòu)造函數(shù)和print函數(shù),以分別用于對(duì)數(shù)據(jù)成員的初始化和輸出。在主函數(shù)中,實(shí)例化house類和office類對(duì)象并且將其數(shù)據(jù)輸出。某校每位學(xué)生都要學(xué)習(xí)英語(yǔ)、語(yǔ)文、數(shù)學(xué)三門公共課程以及不同的專業(yè)課程。會(huì)計(jì)學(xué)專業(yè)要學(xué)習(xí)會(huì)計(jì)學(xué)和經(jīng)濟(jì)學(xué)兩門課程,化學(xué)專業(yè)要學(xué)習(xí)有機(jī)化學(xué)和化學(xué)分析兩門課程。編程序管理學(xué)生成績(jī)
5、,計(jì)算公共課的總分和平均分,以及所有課程的總成績(jī)。數(shù)據(jù)記錄:1、#include#include using namespace std;class CDate public: int x,n,e; CDate(); CDate(int x,int n,int e):x(x),n(n),e(e);class CPerson public: string name,sex; int age; CPerson(); CPerson(string name,int age,string sex):name(name),age(age),sex(sex) void Print() coutname a
6、ge sexendl; ;class CStudent:virtual public CPersonpublic: string id; CDate school; int grade; CStudent(); CStudent(string name,int age,string sex,string id,CDate school,int grade): CPerson(name,age,sex),id(id),school(school),grade(grade) void Print() coutname age sex id school.x-school.n-school.e gr
7、adeendl; ;class CTeacher:virtual public CPerson public: string duty,depart; CDate work; CTeacher(); CTeacher(string name,int age,string sex,CDate work,string duty,string depart): CPerson(name,age,sex),duty(duty),depart(depart),work(work)void Print() coutname age sex duty depart work.x-work.n-work.ee
8、ndl; ;class CGraduate:public CStudent public: string study,tutor; CGraduate(); CGraduate(string name,int age,string sex,string id,CDate school,int grade,string study,string tutor):CStudent(name,age,sex,id,school,grade),CPerson(name,age,sex),study(study),tutor(tutor)void Print() coutname age sex id s
9、chool.x-school.n-school.e grade study tutorendl; ;class CGradOnWork:public CGraduate,public CTeacher public: string name,sex; int age; CGradOnWork(); CGradOnWork(string name,int age,string sex,string duty,string depart,CDate work,string id,CDate school,int grade,string study,string tutor): CTeacher(
10、name,age,sex,work,duty,depart),CGraduate(name,age,sex,id,school,grade,study,tutor),CPerson(name,age,sex),name(name),age(age),sex(sex)void Print() coutname age sex duty depart work.x-work.n-work.e id school.x-school.n-school.e grade study tutorendl; ;int main() CGradonWork gradonWork(tzcer,男,33,15,20
11、03,335,computer,tangmin,jsj,sxxy,2002-8); s1.Print(); s1.CTeacher:Print(); s1.CGraduate:Print(); s1.CStudent:Print(); s1.CPerson:Print();8、#include#includeusing namespace std;class Point protected:double x, y; public: Point()x = 0;y = 0;Point(double x0,double y0) x = x0; y = y0; double get_x()return
12、 x;double get_y()return y;friend ostream & operator (ostream &out,Point &d); ostream & operator(ostream &out,Point &d)return out Point:( d.x , d.y ) endl;class Circle : public Pointprotected:double r;public:Circle()r = 0;Circle (double r0):r(r0)void set_r(double r1)r = r1;double get_r()return r;doub
13、le area()return 3.14159 * r * r;friend ostream & operator (ostream &out, Circle &r);ostream & operator(ostream &out,Circle &r)return out r: r.get_r() endl area: r.area() endl;class Cylinder : public Circleprivate:double h;public:Cylinder ()h = 0;Cylinder (double r0, double h0):Circle(r0), h(h0)void
14、set_h(double h1)h = h1;double get_h()return h;double area()return 2 * 3.14159 * r * h + 2 * 3.14159 * r * r;double volume()return Circle:area() * h;friend ostream & operator (ostream &out, Cylinder &h);ostream & operator(ostream &out,Cylinder &h)return out h: h.get_h() endl area: h.area() endl volum
15、e: h.volume() endl;int main()Point ps(-2,5);cout ps; Circle o(2);cout o;Cylinder h(2,4);cout h;system(pause);return 0;運(yùn)行的效果如下:9、#include#includeusing namespace std;class buildingprotected:string name;int floors;float areas;public:building(string,int,float);void print();building:building(string q,int
16、 m,float s)name=q;floors=m;areas=s;void building:print()coutname:namefloors:floorsarea:areasendl;class house:public buildingpublic:house(string q,int m,float s,int i,int j):building(q,m,s)rooms=i;balcony=j;void print();private:int rooms;int balcony;void house:print()coutname:namefloors:floorsareas:a
17、reasrooms:roomsbalcony:balconyendl;class office:public buildingpublic:office(string q,int m,float s,int a,int b):building(q,m,s)offices=a;meetingrooms=b;void print();private:int offices;int meetingrooms;void office:print()coutname:namefloors:floorsareas:areasoffices:officesmeetingrooms:meetingroomse
18、ndl;int main()house q1(住宅,8,520,20,17);office q2(辦公室,26,530,5,6);q1.print();q2.print();return 0;運(yùn)行的效果如下:10、#include#includeusing namespace std;class comFinalprotected:char name20;int English,Chinese,Math,Total;float average;public:comFinal(char *n,int Eng,int Chi,int Mat);comFinal();comFinal();char
19、*getName()return name;int getEng()return English;int getChi()return Chinese;int getMat()return Math;void setEng(int x)English=x;void setChi(int x)Chinese=x;void setMat(int x)Math=x;int getTotal()return English+Chinese+Math;float getAverage()return (float)(English+Chinese+Math)/3);void show();comFina
20、l:comFinal(char *n,int Eng,int Chi,int Mat)English=Eng;Chinese=Chi;Math=Mat;strcpy(name,n);void comFinal:show()cout學(xué)生姓名:getName()endl;cout英語(yǔ)成績(jī):getEng()endl;cout語(yǔ)文成績(jī):getChi()endl;cout數(shù)學(xué)成績(jī):getMat()endl;cout基礎(chǔ)分總評(píng):getTotal()endl;cout基礎(chǔ)課平均成績(jī):getAverage()endl;class account:public comFinalprotected:int acc
21、oun;int econ;int majtotal;float majave;public:account(char *n,int Eng,int Chi,int Mat,int acc,int eco);account();int getmajtotal()return econ+accoun;float getmajave()return float(accoun+econ)/2);int getaccount()return accoun;int getecon()return accoun;void setaccount(int x)accoun=x;void setecon(int
22、x)econ=x;void show();account:account(char *n,int Eng,int Chi,int Mat,int acc,int eco):comFinal(n,Eng,Chi,Mat)econ=eco;accoun=acc;void account:show()comFinal:show();cout會(huì)計(jì)學(xué)成績(jī):accounendl;cout經(jīng)濟(jì)學(xué)成績(jī):econendl;cout總分:getTotal()+accoun+econendl; class chemistry:public comFinalprotected:int chemistr;int analy;int majtatal;float majave;public:chemistry(ch
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大數(shù)據(jù)營(yíng)銷策略咨詢合同
- 農(nóng)業(yè)產(chǎn)業(yè)園區(qū)投資合作協(xié)議
- 建筑工程玻璃貼膜合同
- 股權(quán)激勵(lì)保密協(xié)議書(shū)
- 公關(guān)攝影師聘用合同
- 合伙美容院合同
- 財(cái)產(chǎn)分割離婚協(xié)議
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)建設(shè)與優(yōu)化方案
- 裝修施工安全合同協(xié)議書(shū)
- 醫(yī)院大樓裝修工程承包協(xié)議書(shū)
- 上海專科層次自主招生考試習(xí)題集②(含答案)
- 某市政道路施工交通疏導(dǎo)方案
- 世界主要國(guó)際組織課件
- 語(yǔ)言學(xué)綱要(新)課件
- 心理評(píng)估與診斷簡(jiǎn)介課件
- 移動(dòng)式壓力容器充裝復(fù)審換證考試重點(diǎn)題庫(kù)(180題)
- 小班安全《湯姆走丟了》PPT課件教案反思微視頻
- 作物栽培學(xué)課件棉花
- 最新小學(xué)二年級(jí)口算及豎式計(jì)算練習(xí)題
- 生產(chǎn)與運(yùn)作管理-陳榮秋
- 金雞冠的公雞繪本課件
評(píng)論
0/150
提交評(píng)論