




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jì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ù)進(jìn)行初始化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ù)進(jìn)行初始化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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中式餐廳轉(zhuǎn)讓合同范本
- 產(chǎn)品配方轉(zhuǎn)讓合同范例
- 公司代經(jīng)營合同范例
- 2024年重慶市大足區(qū)婦女聯(lián)合會招聘筆試真題
- 化肥品牌轉(zhuǎn)讓合同范本
- 書宣傳推廣合同范本
- 公寓鋪子轉(zhuǎn)讓合同范本
- 個人首套房屋購買合同范本
- 化工購銷合同范本
- 地理-浙江省強基聯(lián)盟2025年2月高三年級聯(lián)考試題和答案
- 公路工程節(jié)后復(fù)工安全教育
- 小王子-英文原版
- T-CHTS 10021-2020 在役公路隧道長期監(jiān)測技術(shù)指南
- AQ/T 2061-2018 金屬非金屬地下礦山防治水安全技術(shù)規(guī)范(正式版)
- 北師大版六年級下冊書法練習(xí)指導(dǎo)教案教學(xué)設(shè)計
- 2024年濟(jì)南護(hù)理職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 《飼料質(zhì)量安全管理規(guī)范》培訓(xùn)2022年
- 新概念二冊課文電子版
- 文獻(xiàn)檢索與畢業(yè)論文寫作PPT完整全套教學(xué)課件
- 管理學(xué)原理(南大馬工程)
評論
0/150
提交評論