![【第四版課后習(xí)題答案】第04章類(lèi)_第1頁(yè)](http://file4.renrendoc.com/view/b81c9376702a68f2ffe564f0373503b9/b81c9376702a68f2ffe564f0373503b91.gif)
![【第四版課后習(xí)題答案】第04章類(lèi)_第2頁(yè)](http://file4.renrendoc.com/view/b81c9376702a68f2ffe564f0373503b9/b81c9376702a68f2ffe564f0373503b92.gif)
![【第四版課后習(xí)題答案】第04章類(lèi)_第3頁(yè)](http://file4.renrendoc.com/view/b81c9376702a68f2ffe564f0373503b9/b81c9376702a68f2ffe564f0373503b93.gif)
![【第四版課后習(xí)題答案】第04章類(lèi)_第4頁(yè)](http://file4.renrendoc.com/view/b81c9376702a68f2ffe564f0373503b9/b81c9376702a68f2ffe564f0373503b94.gif)
![【第四版課后習(xí)題答案】第04章類(lèi)_第5頁(yè)](http://file4.renrendoc.com/view/b81c9376702a68f2ffe564f0373503b9/b81c9376702a68f2ffe564f0373503b95.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章 類(lèi)4-1解釋public和private的作用,公有類(lèi)型成員與私有類(lèi)型成員有些什么區(qū)別?解:公有類(lèi)型成員用public關(guān)鍵字聲明,公有類(lèi)型定義了類(lèi)的外部接II;私有類(lèi)型的成員用private關(guān)鍵字聲明,只允許本類(lèi)的函數(shù)成員來(lái)訪問(wèn),而類(lèi)外部的任何訪問(wèn)都是非法的,這樣,私有的成員就整個(gè)隱蔽在類(lèi)中,在類(lèi)的外部根本就無(wú)法看到,實(shí)現(xiàn)了訪問(wèn)權(quán)限的有效控制。4~2protected關(guān)鍵字有何作用?解:protected用來(lái)聲明保護(hù)類(lèi)型的成員,保護(hù)類(lèi)型的性質(zhì)和私有類(lèi)型的性質(zhì)相似,其差別在于繼承和派生時(shí)派生類(lèi)的成員函數(shù)可以訪問(wèn)基類(lèi)的保護(hù)成員。4-3構(gòu)造函數(shù)和析構(gòu)函數(shù)有什么作用?解:構(gòu)造函數(shù)的作用就是在對(duì)象被創(chuàng)建時(shí)利用特定的值構(gòu)造對(duì)象,將對(duì)象初始化為一個(gè)特定的狀態(tài),使此對(duì)象具有區(qū)別于彼對(duì)象的特征,完成的就是是一個(gè)從一般到具體的過(guò)程,構(gòu)造函數(shù)在對(duì)象創(chuàng)建的時(shí)候由系統(tǒng)自動(dòng)調(diào)用。析構(gòu)函數(shù)與構(gòu)造函數(shù)的作用幾乎正好相反,它是用來(lái)完成對(duì)象被刪除前的一些清理工作,也就是專(zhuān)門(mén)作掃尾工作的。一般情況下,析構(gòu)函數(shù)是在對(duì)象的生存期即將結(jié)束的時(shí)刻由系統(tǒng)自動(dòng)調(diào)用的,它的調(diào)用完成之后,對(duì)象也就消失了,相應(yīng)的內(nèi)存空間也被釋放。4-4數(shù)據(jù)成員可以為公有的嗎?成員函數(shù)可以為私有的嗎?解:可以,二者都是合法的。數(shù)據(jù)成員和成員函數(shù)都可以為公有或私有的。但數(shù)據(jù)成員最好定義為私有的。4-5已知classA中有數(shù)據(jù)成員inta,如果定義了A的兩個(gè)對(duì)象Al、A2,它們各自的數(shù)據(jù)成員a的值可以不同嗎?解:可以,類(lèi)的每一個(gè)對(duì)象都有自己的數(shù)據(jù)成員。4-6什么叫做拷貝構(gòu)造函數(shù)?拷貝構(gòu)造函數(shù)何時(shí)被調(diào)用?解:拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),具有一般構(gòu)造函數(shù)的所有特性,其形參是本類(lèi)的對(duì)象的引用,其作用是使用一個(gè)己經(jīng)存在的對(duì)象,去初始化一個(gè)新的同類(lèi)的對(duì)象。在以下三種情況下會(huì)被調(diào)用:在當(dāng)用類(lèi)的一個(gè)對(duì)象去初始化該類(lèi)的另一個(gè)對(duì)象時(shí);如果函數(shù)的形參是類(lèi)對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí);如果函數(shù)的返回值是類(lèi)對(duì)象,函數(shù)調(diào)用完成返回時(shí);4-7拷貝構(gòu)造函數(shù)與賦值運(yùn)算符仁)有何不同?解:賦值運(yùn)算符仁)作用于一個(gè)已存在的對(duì)象:而拷貝構(gòu)造函數(shù)會(huì)創(chuàng)建一個(gè)新的對(duì)象。4-8定義一個(gè)Dog類(lèi),包含的age、weight等屬性,以及對(duì)這些屬性操作的方法。實(shí)現(xiàn)并測(cè)試這個(gè)類(lèi)。解:源程序:#include<iostream.h>classDog{public:Dog(intinitialAge=0,intinitialWeight=5);~Dog();intGetAge0{returnitsAge;}//inline!voidSetAge(intage){itsAge=age;}//inline!intGetWeight0{returnitsWeight;}//inline!voidSetWeight(intweight){itsAge=weight;}//inline!private:intitsAge,itsWeight;);Dog::Dog(intinitialAinitialWeight)itsAge=initialAge;itsWeight=initialWeight;)Dog::^Dog()//destructor?takesnoaction{)intmainO{DogJack(2,10);cout?”JackisaDogwhois”;cout?Jack.GetAge0?"yearsoldand”;cout?Jack.GetWeight()?〃poundsweight.\n";Jack.SetAge(7);Jack.SetWeight(20);cout?”NowJackis”;cout?Jack.GetAge0?"yearsoldand”;cout?Jack.GetWeight()?〃poundsweight.〃;return0;)程序運(yùn)行輸出:JackisaDogwhois2yearsoldand10poundsweight.NowJackis7yearsold20poundsweight.4-9設(shè)計(jì)并測(cè)試一個(gè)名為Rectangle的矩形類(lèi),其屬性為矩形的左下角與右上角兩個(gè)點(diǎn)的坐標(biāo),能計(jì)算矩形的面積。解:源程序:#include〈iostream.h>classRectangle{public:Rectangle(inttop,intleft,intbottom,intright);'Rectangle0{}intGetTopOconst{returnitsTop;}intGetLeft0const{returnitsLeft;}intGetBottom0const{returnitsBottom;}intGetRight0const{returnitsRight;}voidSetTop(inttop){itsTop=top;}voidSetLeft(intleft){itsLeft=left;}voidSetBottom(intbottom){itsBottom=bottom;}voidSetRight(intright){itsRight=right;}intGetArea()const;private:intitsTop;intitsLeft;intitsBottom;intitsRight;);Rectangle::Rectangle(inttop,intleft,intbottom,intright){itsTop=top;itsLeft=left;itsBottom=bottom;itsRight=right;)intRectangle::GetArea()const{intWidth=itsRight-itsLeft;intHeight=itsTop-itsBottom;return(Width*Height);)intmainO{RectangleMyRectangle(100,20,50,80);intArea=MyRectangle.GetAreaO;cout?"Area:〃<<Area?return0;)程序運(yùn)行輸出:Area:3000UpperLeftXCoordinate:204-10設(shè)計(jì)一個(gè)用于人事管理的People(人員)類(lèi)。考慮到通用性,這里只抽象出所有類(lèi)型人員都具有的屬性:number(編號(hào))、sex(性別)、birthday(出生口期)、id(身份證號(hào))等等。其中〃出生口期〃定義為一個(gè)〃口期〃類(lèi)內(nèi)嵌子對(duì)象。用成員函數(shù)實(shí)現(xiàn)對(duì)人員信息的錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、內(nèi)聯(lián)成員函數(shù)、帶缺省形參值的成員函數(shù)、聚集。解:本題用作實(shí)驗(yàn)四的選做題,因此不給出答案。4-11定義一個(gè)矩形類(lèi),有長(zhǎng)、寬兩個(gè)屬性,有成員函數(shù)計(jì)算矩形的面積解:#include〈iostream.h>classRectangle{public:Rectangle(floatlen,floatwidth){Length=len;Width=width;)'Rectangle。{};floatGetArea0{returnLength*Width;}floatGetLengthO{returnLength;}floatGetWidthO{returnWidth;}private:floatLength;floatWidth;);voidmainO{floatlength,width;cout<<〃請(qǐng)輸入矩形的長(zhǎng)度:〃;cin>>length;cout<<〃請(qǐng)輸入矩形的寬度:〃;cin>>width;Rectangler(length,width);cout 〃長(zhǎng)為"<<length<<"寬為"?width?〃的矩形的面枳為:"<<r.GetArea0?endl;)程序運(yùn)行輸出:請(qǐng)輸入矩形的長(zhǎng)度:5請(qǐng)輸入矩形的寬度:4長(zhǎng)為5寬為4的矩形的面積為:20/*4-11-2已有點(diǎn)類(lèi)Point定義,定義一個(gè)矩形類(lèi),有左下角,右上角兩個(gè)點(diǎn),面積,周長(zhǎng)屬性,面積,周長(zhǎng)由左下角,右上角兩個(gè)點(diǎn)決定;有成員函數(shù)有(1)構(gòu)造函數(shù)(2)返回矩形的面積(3)返回周長(zhǎng)(提示:用類(lèi)組合實(shí)現(xiàn))解:*/#mchide<iostream.h>classPoint(public:Point(intxx=0,intyy=0){X=xx;Y=yy;}〃構(gòu)造函數(shù)Point(Point&p);mtGetX(){fetuniX;}mtGetY(){letuinY;}private:mtX,Y;};Point二Point(Point&p){x=p.x;Y=p.Y;//cout?',w貝構(gòu)造函數(shù)被調(diào)用“Wendi;)classRectangle{public:Rectangle(Pointxpl,Pomtxp2);〃構(gòu)造函數(shù)Rectangle(Rectangle&);〃拷貝構(gòu)造函數(shù)floatgetarea(){returnarea;}floatgetlen(){ienunlen;}private:Pointpl,p2;floataieajen;};Rectangle二Rectangle(Pointxpl,Pointxp2):p1(xp1),p2(xp2){floatli=p2.GetY()-pl.GetY();floatw=p2.GetX()-pl.GetX();area=h*w;len=2*(h+w);)Rectangle::Rectangle(Rectaiigle&Rect):pl(Rect.pl),p2(Rect.p2){aiea=Rect.aiea;len=Rect.len;)voidmam()(mtx,y;cout<v”請(qǐng)輸入矩形的左下角點(diǎn)坐標(biāo)pl的xy坐標(biāo):”;cin?x?y;Pointmyp1(x,y);cout?”請(qǐng)輸入矩形的右衛(wèi)轉(zhuǎn)點(diǎn)坐標(biāo)p2的xy坐標(biāo):”;cin?x?y;Pointmyp2(x,y);RectangleRecti(mypmyp2);RectangleRect2(Rectl);cout?”第一個(gè)矩形的面積為:"wRecti.getaiea()?"周長(zhǎng)為:"Recti.getlen()?endl;cout?”第二個(gè)矩形的面積為:"wRect2.getarea()?”周長(zhǎng)為:u?Rect2.getlen()?endl;)4-12定義一個(gè)〃數(shù)據(jù)類(lèi)型〃datatype類(lèi),能處理包含字符型、整型、浮點(diǎn)型三種類(lèi)型的數(shù)據(jù),給出其構(gòu)造函數(shù)。解:#include<iostream.h>classdatatype(enum{character,integer,floating-point}vartype;union{charc;inti;floatf;);public:datatype(charch){vartype=character;c=ch;)datatype(intii){vartype=integer;? ??1=Ii;)datatype(floatff){vartype=floating-point;f=ff;)voidprint(););voiddatatype::print0{switch(vartype){casecharacter:cout<<“字符型:"<<c<<endl;break;caseinteger:cout "整型:"<<i<<endl;break;casefloating-point:cout<<“浮點(diǎn)型:"<<f<<endl;break;))voidmainO{datatypeA('c'),B(12),C(l.44F);A.print0;print0;print0;)程序運(yùn)行輸出:字符型:c整型:12浮點(diǎn)型:1.444-13定義一個(gè)Circle類(lèi),有數(shù)據(jù)成員半徑Radius,成員函數(shù)GetAreaO,計(jì)算圓的面積,構(gòu)造一個(gè)Circle的對(duì)象進(jìn)行測(cè)試。解:#include〈iostream.h>classCircle{public:Circle(floatradius){Radius=radius;}"Circle0{}floatGetAreaO{return3.14
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)數(shù)學(xué)教學(xué)計(jì)劃3篇
- 甘肅省天水市2024-2025學(xué)年高三上學(xué)期九校聯(lián)考語(yǔ)文試題
- 自考《勞動(dòng)法(00167)》近年考試真題題庫(kù)(含答案)
- 2025年江蘇職教高考《職業(yè)適應(yīng)性測(cè)試》考前沖刺模擬試題庫(kù)(附答案)
- 《個(gè)人信息保護(hù)法》考試參考試題庫(kù)100題(含答案)
- 2025年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年武漢職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 2025年榆林能源科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年新疆職業(yè)大學(xué)高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 專(zhuān)題07 解二元一次方程組 帶解析
- 2025-2030年中國(guó)硫酸鉀行業(yè)深度調(diào)研及投資戰(zhàn)略研究報(bào)告
- 課題申報(bào)參考:社會(huì)網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年工作計(jì)劃
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 機(jī)械工程類(lèi)基礎(chǔ)知識(shí)單選題100道及答案解析
- 冠心病課件完整版本
- 微生物組與膽汁性肝硬化
- 《信息檢索基礎(chǔ)知識(shí)》課件
- 具有履行合同所必須的設(shè)備和專(zhuān)業(yè)技術(shù)能力的承諾函-設(shè)備和專(zhuān)業(yè)技術(shù)能力承諾
- 1325木工雕刻機(jī)操作系統(tǒng)說(shuō)明書(shū)
- 初中衡水體英語(yǔ)(28篇)
評(píng)論
0/150
提交評(píng)論