版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《面對(duì)對(duì)象程序設(shè)計(jì)》試驗(yàn)指導(dǎo)書(shū) 2310頁(yè)《面對(duì)對(duì)象程序設(shè)計(jì)》試驗(yàn)指導(dǎo)書(shū)試驗(yàn)報(bào)告應(yīng)包括的內(nèi)容:一、試驗(yàn)?zāi)康模憾?、試?yàn)內(nèi)容:三、源程序四、試驗(yàn)結(jié)果一、試驗(yàn)根本步驟MicrosoftVisualC++6.0,選擇[File]一〉[New]—〉[File]—〉選擇C++1所示。1建立源文件存盤(pán)。檢查源程序,并編譯運(yùn)行,如圖2所示。編譯過(guò)程中如有語(yǔ)法錯(cuò)誤,可參3所示。2保存、編譯源程序3錯(cuò)誤提示信息(cincout),就必需在程序的首部首先聲明相關(guān)的包含這些功能的頭文件(如iostream.h),否則,時(shí),必需在程序首部加以聲明。留意:如運(yùn)行完一個(gè)程序,再建立一個(gè)的源程序時(shí),可將以前運(yùn)行完的程序注釋掉,如圖4要重建立源程序,應(yīng)將當(dāng)前工作區(qū)而不能只關(guān)閉當(dāng)前源程序文件。關(guān)閉工作區(qū)方法:[File]CloseWorkspace5[File][New]—〉[File]C++SourceFile。4注釋程序界面試驗(yàn)內(nèi)容
5關(guān)閉工作區(qū)界面試驗(yàn)一C++程序設(shè)計(jì)根底練習(xí)一、試驗(yàn)?zāi)康?C++C++程序的根本格式與標(biāo)準(zhǔn)。2C++程序構(gòu)造的特點(diǎn)。3C++程序根本的輸入輸出操作。4、學(xué)習(xí)數(shù)據(jù)類(lèi)型常量和變量以及修飾符的使用。5、學(xué)習(xí)根本的函數(shù)定義與調(diào)用方法。6、學(xué)習(xí)作用域運(yùn)算符的功能與根本使用方法。7、學(xué)習(xí)內(nèi)存的動(dòng)態(tài)安排與釋放方法。8、學(xué)習(xí)引用的概念,把握引用的根本使用方法。二、試驗(yàn)內(nèi)容〔一〕程序填空1體會(huì)和理解程序的根本格式標(biāo)準(zhǔn)。1#include<iostream.h>intadd(inta,intb);intmain{intx,y,sum;cout<<“Entertwonumbers:“<<”\n”;//在下畫(huà)線處填上語(yǔ)句,完成用cin讀入xysum=add(x,y);cout<<“Thesumis:“<<sum<<”\n”;return0;}intadd(inta,intb){//在下畫(huà)線處填上語(yǔ)句,完成計(jì)算ab的和并返回之}3,把握輸入輸出及其格式把握的根本使用方法。2#include<iostream.h>intmain{charname[20];cout<<”Hello,yourname:”;//在下畫(huà)線處填上語(yǔ)句,完成將字符串輸入到數(shù)組name中//在下畫(huà)線處填上語(yǔ)句,完成將namecout輸出return0;}3#include<iostream.h>voidmain{intx=25;//在畫(huà)線處填上語(yǔ)句,將變量x的值分別以十六進(jìn)制、十進(jìn)制、八進(jìn)制輸出}5,理解內(nèi)置函數(shù)與函數(shù)重載的概念與根本使用方法。4#include<iostream.h>inlineintdoub(intx){//在下畫(huà)線處填上語(yǔ)句,用于返回x2倍}intmain{for(inti=1;i<3;i++)cout<<i<<”doubledis”<<doub(i)<<endl;cout<<”i+2doubledis”<<doub(i+2)<<endl;}5#include<iostream.h>intmul(intx,inty) //mul1{ returnx*y; }intmul(intx,inty,intz) //mul2{ returnx*y*z;}voidmain{inta=3,b=4,c=5;//在下畫(huà)線處填上語(yǔ)句,用于調(diào)用mul函數(shù)1cout<<a<<”*”<<b<<”=”<< <<endl;//在下畫(huà)線處填上語(yǔ)句,用于調(diào)用mul函數(shù)2cout<<a<<”*”<<b<<”*”<<c<<”=”<< <<endl;}7,并觀看輸出結(jié)果,體會(huì)和理解作用域運(yùn)算符的概念與根本使用方法。6#include<iostream.h>intavar=10;main{//在下畫(huà)線處填上語(yǔ)句,定義局部變量avar25cout<<“avaris“<<avar<<endl;return0;}7#include<iostream.h>intavar;main{intavar;//在下畫(huà)線處填上語(yǔ)句,將局部變量avar25//在下畫(huà)線處填上語(yǔ)句,將全局變量avar10//在下畫(huà)線處填上語(yǔ)句,輸出局部變量avar的值cout<<“l(fā)ocalavaris:“<< <<endl;//在下畫(huà)線處填上語(yǔ)句,輸出全局變量avar的值cout<<“g1obalavaris:“<< <<endl;return0;}9,并觀看輸出結(jié)果,體會(huì)和理解內(nèi)new、delete運(yùn)算符的根本使用方法。8#include<iostream.h>main{int*p; //聲明一個(gè)整型指針變量p//在下畫(huà)線處,用new關(guān)鍵字動(dòng)態(tài)安排一個(gè)int型存儲(chǔ)區(qū),并將首地址賦給p*p=10;cout<<*p; //在下畫(huà)線處填上語(yǔ)句,用于撤銷(xiāo)指針p,釋放p指向的存儲(chǔ)空間return0;}9#include<iostream.h>main{int*p;//new關(guān)鍵字動(dòng)態(tài)安排一個(gè)intpif (!p){cout<<“allocationfailure\n“;return1;}//在下畫(huà)線處填上語(yǔ)句,將p20cout<<*p;//在下畫(huà)線處填上語(yǔ)句,用于撤銷(xiāo)指針p,釋放p指向的存儲(chǔ)空間return0;}〔二〕程序設(shè)計(jì)題110~503的倍數(shù)。2、從鍵盤(pán)上讀入兩數(shù),比較兩個(gè)數(shù)的大小,并按從小到大的次序輸出。311005個(gè)。4、打印出全部的“水仙花數(shù)51~9的乘法表。6、寫(xiě)一個(gè)程序,100~200間的全部素?cái)?shù)。7C90A,80~89B,70~79C,60~69D,60E。8、求10n1
!〔1!+!+3!+!??+1。91+1
11
的和。2 3 410、有一分?jǐn)?shù)序列項(xiàng)之和。
20,2 3 5 8 13 21,,,, , ??,求出這個(gè)數(shù)列的前201 2 3 5 8 13110個(gè)整數(shù)的數(shù)組〔34,91,83,56,29,93,56,12,88,72其下標(biāo),并在主函數(shù)中打印最小數(shù)和下標(biāo)。5 7 8 4 2 3 12、編程求矩陣的加法:2 2 4
9 4。 3 1 1 1
8 1 2 132個(gè)整數(shù)、3個(gè)整數(shù)、23個(gè)雙精度數(shù)的最大值。要求使用重載函數(shù)來(lái)完成。14Fibonaccin項(xiàng)的值,n是用戶由鍵盤(pán)的輸入值。一、試驗(yàn)?zāi)康?、學(xué)習(xí)類(lèi)與對(duì)象的定義,把握類(lèi)與對(duì)象的使用方法。2、學(xué)習(xí)數(shù)據(jù)成員與成員函數(shù)的訪問(wèn)方式,理解構(gòu)造函數(shù)和析構(gòu)函數(shù)的定義與執(zhí)行過(guò)程,學(xué)會(huì)構(gòu)造函數(shù)的重載方法。34、把握用指針和引用向函數(shù)傳遞參數(shù)。5、把握靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)的使用。6、理解友元與友元函數(shù)的作用與使用方法。二、試驗(yàn)內(nèi)容1、下面是一個(gè)計(jì)算器類(lèi)的定義,請(qǐng)完成該類(lèi)成員函數(shù)的實(shí)現(xiàn)。classCounter{public:Counter(intnumber);voidincrement //1{value++;}voiddecrement //1{value--;}intgetValue //取得計(jì)數(shù)器值{value=number;}intprint; //顯示計(jì)數(shù){cout<<value<<endl;}private:intvalue;};Date的成員函數(shù)。classDate{public:voidprintDate//顯示日期{cout<<day<<”.”<<month<<”.”<<year<<endl;}voidsetDay(intd)//設(shè)置日的值{day=d;}voidsetMonth(intm)//設(shè)置月的值{month=m;}voidsetYear(inty)//設(shè)置年的值{year=y;}private:intday,month,year;};intmain{DatetestDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2023);testDay.printDate;return0;}3cylinder,cylinderdouble值,分別表示圓柱體的半徑和高度。用類(lèi)cylinder計(jì)算圓柱體的體積,并存儲(chǔ)在一個(gè)double變量中。在類(lèi)cylinder中包含一個(gè)成員函數(shù)vol,用來(lái)顯示每個(gè)cylinder對(duì)象的體積。4、構(gòu)建一個(gè)類(lèi)book,其中含有兩個(gè)私有數(shù)據(jù)成員quprice,5qu1~5pricequ的10qu*price值?!荆常常础?、修改上題,通過(guò)對(duì)象指針訪問(wèn)對(duì)象數(shù)組,使程序以相反的qu*price值。6、構(gòu)建一個(gè)類(lèi)Stock,含字符數(shù)組stockcode[]及整型數(shù)據(jù)成員quanprice3na[]q、p。stockcode,23個(gè)參數(shù)分別賦給quanpric23quan1000,price8.98?!矡o(wú)〕7、參考課本例子,建立一個(gè)源程序文件,在此文件中建立一個(gè)的Rect。classRect{public:intArea_int;doubleArea_double;Rect(doublelength,doublewidth);Rect(intlength,intwidth);virtual~Rect;private:intnLength;intnWidth;doubledLength;doubledWidth;};【要求】Rect類(lèi)中添加數(shù)據(jù)成員及成員函數(shù),并完善成員函數(shù)的功能。如設(shè)計(jì)Area_doubledouble型的長(zhǎng)方形的面積。double型記錄。表達(dá)對(duì)象的構(gòu)造和析構(gòu)過(guò)程。例如,在構(gòu)造函數(shù)中用cout<<”Iamthecout<<”Iamthedestructor”<<endl。(就像定義(new,給指針安排內(nèi)存空間)。并用不同的參數(shù),以調(diào)用不同的構(gòu)造函數(shù)表達(dá)構(gòu)造函數(shù)的重載。8分?jǐn)?shù)學(xué)生人數(shù));還包括一個(gè)成員函數(shù)account用于設(shè)置分?jǐn)?shù)、累計(jì)學(xué)生的成績(jī)之和、累計(jì)學(xué)生人數(shù),一個(gè)靜態(tài)成員函average用于求全班成績(jī)的平均值。在main函數(shù)中,輸入某班學(xué)生的成績(jī),并調(diào)用上述函數(shù)求出全班學(xué)生的成績(jī)之和和平均分。Location類(lèi),在主程序中創(chuàng)立A3象限,B的坐標(biāo)點(diǎn)在按如下格式輸出結(jié)果:A(x1,y1),B(x2,y2)Distance=d其中:x1、y1、x2、y2為指定的坐標(biāo)值,d為兩個(gè)坐標(biāo)點(diǎn)之間的距離?!驹囼?yàn)5】10C++的string5個(gè)字符串按逆轉(zhuǎn)后的挨次顯示出按逆轉(zhuǎn)后的挨次輸出字符串為:France、British、American、Japan、Germany11、設(shè)計(jì)一個(gè)矩陣類(lèi)Matrix,有安排空間和對(duì)矩陣賦值的功能,將這個(gè)矩陣Mul(Matrixa,Matrixb),用Mul(Matrixa,MatrixMatrix對(duì)象相乘的運(yùn)算。一、試驗(yàn)?zāi)康?、學(xué)習(xí)類(lèi)的繼承,能夠定義和使用類(lèi)的繼承關(guān)系。2、學(xué)習(xí)派生類(lèi)的聲明與定義方法。3、把握類(lèi)的定義和對(duì)象的聲明。4、生疏公有派生和私有派生的訪問(wèn)特性。5、把握派生類(lèi)構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行挨次。二、試驗(yàn)內(nèi)容修改以下程序,使其可以輸出字母az〔或任意兩個(gè)字符間〕與所對(duì)應(yīng)的數(shù)字的比照表。classtable{public:table(intp){i=p;}voidascii(void);protected:inti;};voidtable::ascii(void){intk=1;for(;i<127;i++){cout<<setw(4)<<i<<““<<(char)i;if((k)%12==0)cout<<“\n“;k++;}cout<<“\n“;}classder_table:publictable{public:der_table(intp,char*m):table(p){c=m;}voidprint(void);protected:char*c;};voidder_table::print(void){cout<<c<<“\n“;table::ascii;}intmain{der_tableobl(32,“ASCIIvalue---char“);obl.print;return0;}提示:修改后的主程序?yàn)椋篿ntmain{der_tableob(”a”,”z”,“ASCIIvalue---char“);ob.print;return0;}2TimeDateBirthtime,它Childname用于表示小孩的名字,同事設(shè)計(jì)主程序顯示一個(gè)小孩的誕生時(shí)間和名字。classTime{public:Time(inth,intm,ints){hours=h;minutes=m;seconds=s;}voiddisplay{cout<<““<<hours<<“時(shí)“<<minutes<<“分“<<seconds<<“秒“<<endl;}protected:inthours,minutes,seconds;};classDate{public:Date(intm,intd,inty){month=m;day=d;year=y;}voiddisplay{cout<<“誕生年月:“<<year<<“年“<<month<<“月“<<day<<“日“<<endl;}protected:intmonth,day,year;};【4.22】3、編寫(xiě)一個(gè)學(xué)生和教師的數(shù)據(jù)輸入和顯示程序。學(xué)生數(shù)據(jù)有編號(hào)、姓名、性別、年齡、系別和成績(jī),教師數(shù)據(jù)有編號(hào)、姓名、性別、年齡、Person,StudentTeacher的基類(lèi)?!荆矗玻啊?、給出下面的基類(lèi):classarea{protected:doubleheight;doublewidth;public:area(doubleh,doublew){height=h;width=w;}virtualdoublegetarea=0;};【要求】建立基類(lèi)arearectangleisosceles,讓每一個(gè)派生類(lèi)都getareaheightwidth進(jìn)展初始化。width10.05.0的矩形面積,heightwidth4.06.0的三角形面積?!布催\(yùn)行時(shí)的多態(tài)性〕分別求出矩形和三角形面積?!荆矗玻场?、編寫(xiě)一個(gè)程序,遞歸調(diào)用被繼承的基類(lèi)成員函數(shù),實(shí)現(xiàn)求素?cái)?shù)的功能。一、試驗(yàn)?zāi)康?、把握運(yùn)算符重載的根本方法。2、把握友元運(yùn)算符函數(shù)和成員運(yùn)算符函數(shù)的使用方法及兩者之間的不同。3、學(xué)習(xí)虛函數(shù)的定義與使用方法。4、了解靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性。二、試驗(yàn)內(nèi)容1、編寫(xiě)一個(gè)程序,要求:c1通過(guò)構(gòu)造函數(shù)直接指定復(fù)數(shù)的實(shí)部和虛部〔類(lèi)私有數(shù)據(jù)成員為double類(lèi)型:realimag〕2.53.7,對(duì)象c2通過(guò)構(gòu)造函數(shù)直接指定復(fù)數(shù)的實(shí)部和虛4.26.5;定義友元運(yùn)算符重載函數(shù),它以c1、c2對(duì)象為參數(shù),調(diào)用該函數(shù)時(shí)能返回兩個(gè)復(fù)數(shù)對(duì)象相加操作;print,調(diào)用該函數(shù)時(shí),以格式“real+imagi”輸出當(dāng)前4.26.5,則調(diào)用print函數(shù)輸出格式為:4.2+6.5i;c1c2相加結(jié)果,并將其結(jié)果輸出。2、編寫(xiě)一個(gè)程序,其中設(shè)計(jì)一個(gè)時(shí)間類(lèi)Time,用來(lái)保存時(shí)、分、秒等私有數(shù)據(jù)成員,通過(guò)重載操作符“+”實(shí)現(xiàn)兩個(gè)時(shí)間的相加。要求將小時(shí)范圍限制在00~590~59秒。classTime{public:Time(inth=0,intm=0,ints=0);//構(gòu)造函數(shù)Timeoperator+(Time&);//運(yùn)算符重載函數(shù),實(shí)現(xiàn)兩個(gè)時(shí)間的相加voiddisptime;//顯示時(shí)間函數(shù)private:inthours,minutes,seconds;};3+*現(xiàn)對(duì)試驗(yàn)二中實(shí)現(xiàn)的矩陣類(lèi)的對(duì)象的加、減、乘法。4{9,5,4,3,6,7}和{2,4,6,9},計(jì)算出他們進(jìn)展集合的并、差和交運(yùn)算后的結(jié)果?!咎崾尽靠梢杂靡幌卤磉_(dá)式實(shí)現(xiàn)整數(shù)集合的根本運(yùn)算:s1+s2 兩個(gè)整數(shù)集合的并運(yùn)算s1-s2 兩個(gè)整數(shù)集合的差運(yùn)算s1*s2 兩個(gè)整數(shù)集合的交運(yùn)算Set類(lèi)的框架,用于完成集合根本運(yùn)算所需的各項(xiàng)功能。classSet{public:Set;voidinput(intd);//向集合中添加一個(gè)元素intlength;//返回集合中的元素個(gè)數(shù)intgetd(inti);//i的元素voiddisplay;//顯示集合的全部元素Setoperator+(Sets1);//成員運(yùn)算符重載函數(shù),實(shí)現(xiàn)集合的并運(yùn)算Setoperator-(Sets1);//成員運(yùn)算符重載函數(shù),實(shí)現(xiàn)集合的差運(yùn)算Setoperator*(Sets1);//成員運(yùn)算符重載函數(shù),實(shí)現(xiàn)集合的交運(yùn)算Setoperator=(Sets1);//成員運(yùn)算符重載函數(shù),實(shí)現(xiàn)集合的賦值運(yùn)算protected:intlen;//統(tǒng)計(jì)結(jié)合中元素的個(gè)數(shù);ints[MAX];//存放集合中的元素};5BaseFlyFly函數(shù)輸出特定內(nèi)容。例如:classBaseFly{public:voidFly(cout<<“\n-----CIassBaseFly::Fly \n“;}};定義類(lèi)BirdFly、DragonFlyPlaneFly,都繼承自BaseFly,重載FlyclassBirdFly:publicBaseFly{public:voidFly{cout<<“\n-----classBirdFly::Fly \n“;}};classDragonFly:publicBaseFly{public:voldFly{cout<<“\n-----ClassDragonFly::Fly \n“;));classPlaneFly:publicBaseFly{public:voidFly{cout<<“\n-----ClassPlaneFly::Fly \n“;}};Fly函數(shù)測(cè)試多態(tài)性。請(qǐng)參考以下代碼:intmain{cout<<“\n測(cè)試?yán)^承中的多態(tài)性(Virtual?Ornot?):\n”;BaseFly*pBase;BirdFly*pBird=newBirdFly;pBasc=pBird;cout<<“\nBirdFly->\n“;pBase->Fly;DragonFly*pDragon=newDragonFly;pBase=pDragon;cout<<“\nDragonFly->\n“;pBase->Fly;PlaneFly*pPlane=newPlaneFly;pBase=pPlane;cout<<“\nPlaneFly->\n“;pBase->Fly;return0,}BaseFly::FlyvirtualmainBaseFly的指針:Fly函數(shù),體會(huì)虛函數(shù)作用。BaseFly*pBase=newBaseFly;BirdFly*pBird=newBirdFly;pBase=pBird;classContainer{protected:doubleradius;public:Container(doubler);//Container的構(gòu)造函數(shù)surface_areadoublevolume=0;//volume};【要求】3Co
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版跨境電商綜合服務(wù)合作協(xié)議
- 2025年彩板復(fù)合板壓型項(xiàng)目可行性研究報(bào)告
- 2025年度室內(nèi)外公共空間照明設(shè)計(jì)與施工合同2篇
- 2025年度個(gè)人環(huán)保項(xiàng)目投資個(gè)人連帶責(zé)任保證合同4篇
- 《動(dòng)物的通訊秘密》課件
- 2025年度航空器發(fā)動(dòng)機(jī)維保合同樣本3篇
- 2025年度個(gè)人合伙區(qū)塊鏈技術(shù)應(yīng)用投資合作協(xié)議4篇
- 2025年度個(gè)人信息技術(shù)服務(wù)與研發(fā)合同規(guī)范4篇
- 2025年度個(gè)人教育培訓(xùn)咨詢合同2篇
- 2025年內(nèi)蒙古太仆寺旗給排水公司招聘筆試參考題庫(kù)含答案解析
- 高二物理競(jìng)賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語(yǔ)寫(xiě)作能力的培養(yǎng)策略
- 現(xiàn)場(chǎng)安全文明施工考核評(píng)分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊(cè)數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測(cè)監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問(wèn)題賠償協(xié)議(終端)
- 物理人教版(2019)必修第二冊(cè)5.2運(yùn)動(dòng)的合成與分解(共19張ppt)
評(píng)論
0/150
提交評(píng)論