版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——面向?qū)ο蟪绦蛟O(shè)計C答案5
第4章類和對象習(xí)題答案
Admin瀏覽
324發(fā)布時間08/11/11
教材:C++程序設(shè)計[2023年版]--4737:劉振安出版社:機械工業(yè)出版社習(xí)題4
一、填空題1.不能使用類對象的指針取對象的成員函數(shù)和數(shù)據(jù)成員的地址。(對象指針能夠訪問成員函數(shù)和數(shù)據(jù)成員的地址,但不能取出,如賦給另外一個指針,取出數(shù)據(jù)成員和成員函數(shù)地址的規(guī)則,在教材的第5章p117有講解)2.構(gòu)造函數(shù)是和類同名的函數(shù),析構(gòu)函數(shù)不允許有參數(shù),一個類有1個析構(gòu)函數(shù)。
3.已知一個類的名字為fun,則其復(fù)制構(gòu)造函數(shù)的原型可聲明為fun::fun(fun和fun::fun(constfun兩種形式。
二、單項選擇題1-5CCABC6-7CD
1.能提供封裝的C++的以下關(guān)鍵字是()。A.whileB.unionC.classD.for
2.在以下所列項中,不是面向?qū)ο蟮奶攸c的是()。A.多態(tài)性B.抽象性和封裝性C.多線程和多任務(wù)D.繼承性
3.下面選項中,對類A的析構(gòu)函數(shù)的正確定義是()。
A.~A::A(void)B.void~A::A(參數(shù))C.~A::A(參數(shù))D.void~A::A()4.下面有關(guān)構(gòu)造函數(shù)的不正確說法是()。A.構(gòu)造函數(shù)可以用來實現(xiàn)所有成員變量的初始化B.構(gòu)造函數(shù)不是類的成員函數(shù)
C.當(dāng)生成類的實例時,自動調(diào)用構(gòu)造函數(shù)進行初始化D.構(gòu)造函數(shù)用來分派對象所需內(nèi)存5.有關(guān)析構(gòu)函數(shù)的不正確說法是()。A.析構(gòu)函數(shù)在對象生存期終止時自動被調(diào)用B.析構(gòu)函數(shù)不得指定參數(shù)
C.定義析構(gòu)函數(shù)時,可以指定返回值類型為voidD.析構(gòu)函數(shù)名與類名同名
6.下面有關(guān)類說法錯誤的是()。A.一個類可以由多個構(gòu)造函數(shù)B.一個類子能有一個析構(gòu)函數(shù)C.可以給析構(gòu)函數(shù)指定參數(shù)
D.一個類中可以說明具有類類型的數(shù)據(jù)成員
7.下面有關(guān)構(gòu)造函數(shù)和new運算符關(guān)系的正確說法是()。A.new運算符不調(diào)用構(gòu)造函數(shù)B.構(gòu)造函數(shù)一定調(diào)用new運算符
C.當(dāng)生成類的實例時,先調(diào)用new運算符,然后調(diào)用構(gòu)造函數(shù)進行初始化D.當(dāng)用new運算符動態(tài)產(chǎn)生類的對象時,new運算符也自動調(diào)用構(gòu)造函數(shù)
//三、改錯題
//1.找出以下類定義中的錯誤,并說明錯在何處。
classbase{int*p;public:
base(inta){p=}//error1:函數(shù)體改為p=newint(a);原因:指針p所指向的變量的生存期不應(yīng)低于指針p的生存期intGetx(){returnm;}//error2:改為intGetx(){return*p;}原因:據(jù)推測這里應(yīng)返回指針p指向的值~base(){deletep}//error3:改為~base(){deletep;}原因:語句后面應(yīng)加上分號(;)分隔符};//測試代碼如下:#includeusingnamespacestd;classbase{int*p;public:
base(inta){p=newint(a);}intGetx(){return*p;}~base(){deletep;}};
voidmain(){baseobj(2);
cout//error1:使用標(biāo)準(zhǔn)類庫中的頭文件,需引入命名空間stdclassPoint{intx;public:
voidinit(inta){Setx(a);}intGetx(){returnx;}
intSetx(inta){x=a;}//error2:不需要返回整型值};
voidmain(){
A.init(24,56);//error3,4:對象A尚未聲明;init函數(shù)調(diào)用時,實參和形參個數(shù)不匹配coutusingnamespacestd;classPoint{intx;public:
voidinit(inta){Setx(a);}intGetx(){returnx;}voidSetx(inta){x=a;}};
voidmain(){PointA;A.init(24);coutusingnamespacestd;
//////////////下面是需要設(shè)計的類///////////////////classbase{intx,y;public:
voidinit(inta,intb){x=a;y=b;}
voidprint(){
coutusingnamespacestd;classPoint{private:intm,n;public:
Point(int,int);Point(Pointvoiddisplay();};
Point::Point(inta,intb){m=a;n=b;}
Point::Point(Pointn=t.n;}
voidPoint::display(){
coutclassbase{inta,b;public:
~base(){cout
{coutusingnamespacestd;
classbase{intx;public:
voidsetx(inta){x=a;}intgetx(){returnx;}};
voidmain(){int*p;basea;a.setx(55);
p=newint(a.getx());cout#includeusingnamespacestd;classPoint{private:intx,y;public:
Point(intx=0,inty=0):x(x),y(y){}
voidSetxy(intx,inty){this->x=x;this->y=y;}intGetx(){returnx;}intGety(){returny;}};
classRectangle{private:
PointLDP,RUP;intdx,dy;public:
Rectangle(Pointp1,Pointp2):LDP(p1),RUP(p2){dx=abs(LDP.Getx()-RUP.Getx());dy=abs(LDP.Gety()-RUP.Gety());}
voidDisplayLeftDownPoint(){
cout#include
usingnamespacestd;classPoint{private:intx,y;public:
Point(intx=0,inty=0):x(x),y(y){}
voidSetxy(intx,inty){this->x=x;this->y=y;}intGetx(){returnx;}intGety(){returny;}};
classLine{private:
PointStart,End;floatlen;public:
Line(Pointp1,Pointp2):Start(p1),End(p2){intdx=abs(Start.Getx()-End.Getx());intdy=abs(Start.Gety()-End.Gety());len=sqrt(dx*dx+dy*dy);}
voidDisplayStartPoint(){
cout
#includeusingnamespacestd;classPoint{private:intx,y;public:
Point(intx=0,inty=0):x(x),y(y){}
voidSetxy(intx,inty){this->x=x;this->y=y;}intGetx(){returnx;}intGety(){returny;}};
classLine{private:
PointStart,End;floatlen;public:
inlineLine(Pointp1,Pointp2);inlinevoidDisplayStartPoint();inlinevoidDisplayEndPoint();inlineintGetLength();}
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024的裝修搬運合同范文
- 2024委托設(shè)計合同標(biāo)準(zhǔn)設(shè)計委托合同
- 醫(yī)院總務(wù)科物資倉庫管理制度
- N-O-Bis-trimethylsilyl-trifluoroacetamide-with-trimethylchlorosilane-生命科學(xué)試劑-MCE
- Neostigmine-Bromide-Standard-生命科學(xué)試劑-MCE
- 金屬熱處理工(初級工)職業(yè)技能認(rèn)定考試題庫(含答案)
- 幼兒園環(huán)境衛(wèi)生檢查通報制度
- 高中語文情感課程設(shè)計
- 互聯(lián)網(wǎng)加高校 課程設(shè)計
- 新樓小學(xué)校長是第一安全責(zé)任人制度
- 期中 (試題) -2024-2025學(xué)年譯林版(三起)英語三年級上冊
- GB/T 23863-2024博物館照明設(shè)計規(guī)范
- 10以內(nèi)加減法(直接打印,20篇)
- 漢德車橋明細爆炸圖20__14
- 污水處理廠備品備件清單
- 全市文物普查工作情況匯報
- 小學(xué)音樂二年級上冊《小雞的一家》課堂觀察報告
- 常見職業(yè)危害相應(yīng)職業(yè)禁忌癥完整版
- (完整版)清華版五年級下冊信息技術(shù)教案
- 電氣儀表施工方案_secret
- 詢問訊問筆錄WORD
評論
0/150
提交評論