版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗十任務(wù)1:程序調(diào)試與程序設(shè)計。類與構(gòu)造函數(shù)、對象的定義。數(shù)據(jù)半徑r及高h,公有的成員函數(shù)有構(gòu)造函數(shù)與輸出圓柱參數(shù)的函數(shù),在main函數(shù)中,輸入兩個參數(shù),定義并初始化此類的一個對象,對象調(diào)用輸出圓柱參數(shù)的函數(shù)。程序代碼如下:#include"stdafx.h"#include<iostream>usingnamespacestd;classcolumn{private:doubler,h;public:column(doubleri,doublehi){r=ri;h=hi;}voidprin(){cout<<"圓柱的高為:"<<h<<"圓柱的半徑為:"<<r<<endl;{}};intmain(){columnc(3,10);c.prin();return0;}請調(diào)試次程序。再定義計算圓柱面積與體積的私有成員函數(shù),在公有的成員函數(shù)prin中調(diào)用,在main函數(shù)中輸入半徑r及高h,請設(shè)計程序并調(diào)試。程序設(shè)計如下:#include"stdafx.h"#include<iostream>usingnamespacestd;#definepi3.1415926classcolumn{private:doubler,h;public:column(doubleri,doublehi){r=ri;h=hi;}doublearea(){doubles;s=2*pi*r*r+2*pi*r*h;returns;}doublev(){returnpi*r*r*h;}voidprin(){cout<<"圓柱的面積為:"<<area()<<"{
圓柱的體積為:"<<v()<<endl;}};intmain(){columnc(3,10);c.area();c.v();c.prin();return0;}在main函數(shù)中也能以下列形式定義對象,請重新設(shè)計程序。Columnc;程序設(shè)計如下:#include"stdafx.h"#include<iostream>usingnamespacestd;classcolumn{private:doubler,h;public:column(doubleri=3,doublehi=10){r=ri;h=hi;}doublearea(){doubles;s=2*3.14*r*r+2*3.14*r*h;returns;}doublev(){return3.14*r*r*h;}voidprin(){cout<<"圓柱的面積為:"<<area()<<"圓柱的"<<v()<<endl;{體積為:}};intmain(){columnc;c.area();c.v();c.prin();return0;}任務(wù)2:程序設(shè)計。重載構(gòu)造函數(shù)的類設(shè)計有一個類A,其中測試函數(shù)main為:intmain(){Aa;Ab(35);Ac(32,90);a.print();b.print();c.print(return0;}程序的執(zhí)行結(jié)果為:}執(zhí)行無參構(gòu)造函數(shù):x=0,y=0執(zhí)行有一個參數(shù)的構(gòu)造函數(shù):x=35,y=0執(zhí)行有二個參數(shù)的構(gòu)造函數(shù):x=32,y=90運算的結(jié)果為:s=0運算的結(jié)果為:s=35運算的結(jié)果為:s=122執(zhí)行析構(gòu)函數(shù):x=32,y=90執(zhí)行析構(gòu)函數(shù):x=35,y=0執(zhí)行析構(gòu)函數(shù):x=0,y=0請定義類,完成類中構(gòu)造函數(shù)與析構(gòu)函數(shù)的定義。程序設(shè)計為:#include"stdafx.h"#include<iostream>usingnamespacestd;classA{private:intx,y;public:A(){x=0;y=0;cout<<"執(zhí)行無參構(gòu)造函數(shù):"<<"x="<<x<<",y="<<y<<endl;}A(intxi){x=xi;y=0;cout<<"執(zhí)行有一個參數(shù)的構(gòu)造函數(shù):"<<"x="<<x<<",y="<<y<<endl;}A(intxi,intyi){x=xi;y=yi;cout<<"執(zhí)行有二個參數(shù)的構(gòu)造函數(shù):"<<"x="<<x<<",y="<<y<<endl;}voidprint(}
){cout<<"運算的結(jié)果為:"<<"s="<<x+y<<endl;執(zhí)行析構(gòu)函數(shù)~A(){cout<<"}};
:"<<"x="<<x<<",y="<<y<<endl;int_tmain(intargc,_TCHAR*argv[]){Aa;Ab(35);Ac(32,90);print();print();return0;}任務(wù)3:程序設(shè)計。類與構(gòu)造函數(shù)、對象的定義。設(shè)計一個表示貓的類Cat,包括貓的顏色、體重、年齡(Color,age,)等數(shù)據(jù),并且具有設(shè)置或修改貓的顏色、體重、年齡的功能,也能顯示貓的顏色、體重、年齡等操作。程序設(shè)計如下:#include"stdafx.h"#include<iostream>usingnamespace#include<string.h>classcat{private:charch[80];doubleweight;intage;public:cat(charc[80],doublewei,inta){strcpy(ch,c);weight=wei;age=a;}voidprint(){cout<<"貓的顏色是:"<<ch<<endl;cout<<"貓的體重是:"<<weight<<"kg"<<endl;cout<<"貓的年齡是:"<<age<<"歲"<<endl;}};intmain(){charch1[80];doubleweight1;intage1;cin>>ch1>>weight1>>age1;catA(ch1,weight1,age1);A.print();return0;}運行結(jié)果如下:任務(wù)4:程序設(shè)計設(shè)計一個長方體類,用它能計算不同長方體的體積和表面積。提示:在這個類Box中必須要有3長、寬、高(分別用、b、c表示),構(gòu)造函數(shù)Box(inti,intj,intk)和計算體積GetVolume()、表面積GetArea()的成員函數(shù)程序設(shè)計為:#include<iostream.h>classbox{private:inta,b,c;public:box(inti,intj,inta=i;b=j;c=k;}voidgetvolume(){ints;s=a*b*c;cout<<"長方體的體積是:"<<s<<endl;}voidgetarea(){ints1;s1=2*(a*b+b*c+a*c);cout<<"長方體的表面積是:"<<s1<<endl;}};intmain(){intx,y,z;cin>>x>>y>>z;boxA(x,y,z);A.getvolume();A.getarea();return0;}任務(wù)5:程序調(diào)試。重載構(gòu)造函數(shù)的定義。(1)定義一個類,根據(jù)對象初始化時的參數(shù)不同,對象自動調(diào)用重載的構(gòu)造函數(shù)調(diào)用。程序如下:#include"stdafx.h"#include<iostream>usingnamespacestd;#include<string.h>classdate{intyear,month,day;public:date(intm,intd);date(inty,intm,intvoidprint();};date::date(inty,intm,intd){year=y;month=m;day=d;cout<<"3dateconstructorcalled"<<endl;date::date(intm,intd)}year=2012;month=m;day=d;cout<<"2dateconstructorcalled"<<endl;{}{voiddate::print(){cout<<"今天是"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}int_tmain(intargc,_TCHAR*argv[]){dateDATE1(10,1),DATE2(2012,5,15);DATE1.print();DATE2.print();return0;}2)如果把main函數(shù)寫成:{dateDATE1(10,1),DATE2(2012,5,15),DATE3();DATE1.print();DATE2.print();return0;}程序能通過編譯嗎?請重新設(shè)計程序。程序如下:#include"stdafx.h"#include<iostream>usingnamespacestd;#include<string.h>classdate{intyear,month,day;public:date(intm,intd);date(inty,intm,intvoidprint();};date::date(inty,intm,intd){year=y;month=m;day=d;cout<<"3dateconstructorcalled"<<endl;date::date(intm,intd)}{year=2012;month=m;day=d;cout<<"2dateconstructorcalled"<<endl;voiddate::print()}cout<<"今天是"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}int_tmain(intargc,_TCHAR*argv[]){dateDATE1(10,1),DATE2(2012,5,15),DATE3();DATE1.print();DATE2.print();return0;}任務(wù)6:程序調(diào)試。默認值的構(gòu)造函數(shù)設(shè)計。程序如下:#include"stdafx.h"#include<iostream>usingnamespacestd;#include<string.h>classdate{private:intyear,month,day;public:date(inty,intm,intd);voidprint();};date::date(inty=2012,intm=01,intd=01){year=y;month=m;day=d;cout<<"dateconstructorcalled"<<endl;}voiddate::print(){cout<<"今天是"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;{}int_tmain(intargc,_TCHAR*argv[]){dateA(2012,5,15),B(2013);A.print();B.print();return0;}(1)調(diào)試程序。(2)如果把“dateA(2012,5,15),B(2013)”替換成“dateA(2012,10),B()”,編譯時能通過嗎?請調(diào)試。答:不能。(3)如果把“date(inty,intm,intd)”替換成“date(inty=2012,intm=01,intd=01)”,編譯時能通過嗎?答:不能通過,date::date重復(fù)定義默認參數(shù)。任務(wù)7:程序調(diào)試。拷貝構(gòu)造函數(shù)設(shè)計拷貝構(gòu)造函數(shù)的應(yīng)用代碼如下:#include"stdafx.h"#include<string.h>#include<iostream>usingnamespaceclassPerson{private:char*buffer;intage;public:Person(constPerson&me);Person(char*p,inta);voidDisplay();};Person::Person(constPerson&me){buffer=newchar[strlen(me.buffer)+1];strcpy(buffer,me.buffer);this->age=me.age;}Person::Person(char*p,inta){buffer=newchar[strlen(p)+1];strcpy(buffer,p);age=a;}voidPerson::Display(){cout<<"Thenameis"<<buffer<<"ageis"<<age<<endl;}int_tmain(intargc,_TCHAR*argv[]){PersonA("Liu",50);PersonB(A);B.Display();return0;}任務(wù)8:程序設(shè)計。拷貝構(gòu)造函數(shù)設(shè)計。設(shè)計一個矩形類熱沖突,其數(shù)據(jù)成員定義為長doublelength和寬
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 普外科疾病護理案例分析
- 工廠班組早會管理精要
- 《GBT 34024-2017 客運架空索道風險評價方法》專題研究報告
- 《GB 30000.16-2013化學品分類和標簽規(guī)范 第16部分:有機過氧化物》專題研究報告
- 醫(yī)療器械采購付款擔保協(xié)議
- 智能門鎖維修技師崗位招聘考試試卷及答案
- 珠寶 3D 打印技師崗位招聘考試試卷及答案
- 2025年公路收費員面試題目及答案解析
- 2025年車輛專用照明、信號及其裝置項目發(fā)展計劃
- 2025年全腦開發(fā)項目建議書
- 2025云南省人民檢察院招聘22人筆試考試備考題庫及答案解析
- 銀行行業(yè)公司銀行客戶經(jīng)理崗位招聘考試試卷及答案
- 2026年安全生產(chǎn)管理培訓課件與事故預(yù)防與應(yīng)急處理方案
- 2026天津市靜海區(qū)北師大實驗學校合同制教師招聘81人(僅限應(yīng)屆畢業(yè)生)考試筆試備考題庫及答案解析
- 2025陜西陜煤澄合礦業(yè)有限公司招聘570人參考筆試題庫及答案解析
- 2025年倉儲服務(wù)外包合同協(xié)議
- 2025遼寧沈陽金融商貿(mào)經(jīng)濟技術(shù)開發(fā)區(qū)管理委員會運營公司招聘60人考試歷年真題匯編帶答案解析
- 2025年刑法學考試試題及答案
- 廣東省汕頭市金平區(qū)2024-2025學年七年級上學期期末地理試題
- 2025年二手車交易市場發(fā)展可行性研究報告及總結(jié)分析
- 北京市交通運輸綜合執(zhí)法總隊軌道交通運營安全專職督查員招聘10人考試參考題庫附答案解析
評論
0/150
提交評論