鄭大遠(yuǎn)程教育面向?qū)ο蟪绦蛟O(shè)計(jì)_第1頁(yè)
鄭大遠(yuǎn)程教育面向?qū)ο蟪绦蛟O(shè)計(jì)_第2頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、鄭州大學(xué)現(xiàn)代遠(yuǎn)程教育面向?qū)ο蟪绦蛟O(shè)計(jì)課程考核要求說(shuō)明:本課程考核形式為提交作業(yè),完成后請(qǐng)保存為WORD格式的文檔,登陸學(xué)習(xí)平臺(tái)提交,并檢查和確認(rèn)提交成功。一作業(yè)要求1. 請(qǐng)獨(dú)立自主完成作業(yè)內(nèi)容。作業(yè)內(nèi)容一)、簡(jiǎn)答題:(每題5分,共30分)1、異常處理的作用是什么答:答:(1).try和catch語(yǔ)句:將要處理的代碼放入try塊中,然后創(chuàng)建相應(yīng)的catch塊的列表。如果生成都異常與catch中提到的相匹配,那么catch條件中的塊語(yǔ)句就被執(zhí)行。try塊后可能有許多catch塊,每個(gè)都處理不同的異常。每個(gè)catch中的參數(shù)都是Exception的子類。(2) .finally語(yǔ)句:定義一個(gè)總是執(zhí)行

2、的代碼,而不考慮異常是否被捕獲。(3) .throw引起一個(gè)異常。2、什么是容器什么是迭代器什么是算法他們之間有何關(guān)系答:容器:容器能夠通過(guò)模版的方法,裝下各種類型的節(jié)點(diǎn)元素。迭代器:迭代器是一種smartpointer。迭代器是一種行為類似指針的對(duì)象。迭代器所指向的對(duì)象為容器中元素(結(jié)構(gòu)體)的節(jié)點(diǎn)。如定義一個(gè)classList的容器,容器的節(jié)點(diǎn)為L(zhǎng)istitem,那么迭代器就應(yīng)該指向(的對(duì)象)容器中的ListItem節(jié)點(diǎn)。而迭代器通過(guò)重載*(解引用)運(yùn)算符,從而就可以得到節(jié)點(diǎn)的值。通過(guò)重載operator-運(yùn)算符就可以得到容器節(jié)點(diǎn)地址(指針)算法:算法通過(guò)操作容器對(duì)應(yīng)的迭代器,就可以間接地操

3、作容器中的元素。而不需要關(guān)注容器的內(nèi)部細(xì)節(jié)三者之間聯(lián)系:每個(gè)容器都有專屬的迭代器,而算法通過(guò)迭代器對(duì)容器中的元素進(jìn)行操作。3、什么是靜態(tài)成員有何特點(diǎn)答:在C+類中聲明成員時(shí)可以加上static關(guān)鍵字,這樣聲明的成員就叫做靜態(tài)成員(包括數(shù)據(jù)成員和成員函數(shù))。靜態(tài)成員的特點(diǎn)是:不管這個(gè)類創(chuàng)建多少個(gè)對(duì)象,其靜態(tài)成員在內(nèi)存中只保留一份副本,這個(gè)副本為該類的所有對(duì)象所共享。面對(duì)對(duì)象方法中還有類屬性的概念,類屬性是描述類的所有對(duì)象共同特征的一個(gè)數(shù)據(jù)項(xiàng)對(duì)于任何對(duì)象實(shí)例,它的屬性值是相同的,C+通過(guò)靜態(tài)數(shù)據(jù)成員來(lái)實(shí)現(xiàn)類屬性。4、類的構(gòu)造函數(shù)和析構(gòu)函數(shù)有何特點(diǎn)答:構(gòu)造函數(shù)主要用來(lái)對(duì)成員初始化和分配空間,析構(gòu)函數(shù)

4、用于執(zhí)行一些清理任務(wù),如釋放分配給對(duì)象的內(nèi)存空間等。構(gòu)造函數(shù)有以下特點(diǎn):(1)構(gòu)造函數(shù)的名字必須與類名相同;(2)構(gòu)造函數(shù)可以有任意類型的參數(shù),但不能具有返回類型;(3) 定義對(duì)象時(shí),編譯系統(tǒng)會(huì)自動(dòng)地調(diào)用構(gòu)造函數(shù);(4) 構(gòu)造函數(shù)是特殊的成員函數(shù),函數(shù)體可以在類體內(nèi),也可寫(xiě)在類體外;(5) 構(gòu)造函數(shù)被聲明為公有函數(shù),但它不能像其他成員函數(shù)那樣被顯式調(diào)用,它是在定義對(duì)象的同時(shí)被調(diào)用的。析構(gòu)函數(shù)有以下特點(diǎn):(1) 析構(gòu)函數(shù)的名字必須與類名相同,但它前面必須加一個(gè)波浪號(hào)(2) 析構(gòu)函數(shù)沒(méi)有參數(shù),也沒(méi)有返回值,而且不能被重載,因此在一個(gè)類中只能有一個(gè)析構(gòu)函數(shù);(3) 當(dāng)撤銷對(duì)象時(shí),編譯系統(tǒng)會(huì)自動(dòng)地調(diào)用

5、析構(gòu)函數(shù)。5、類成員的訪問(wèn)權(quán)限有哪些答:類成員的訪問(wèn)權(quán)限:繼承有關(guān)public此成員都可公開(kāi)調(diào)用;protected同包或?qū)^承的類才可公開(kāi)調(diào)用,靜態(tài)成員也必須繼承后才能調(diào)用或使用public;friendly對(duì)同包的類可以公開(kāi)調(diào)用;private只有本類實(shí)例成員方法才可調(diào)用。6、面向?qū)ο蟮幕疽厥鞘裁创穑撼橄?、繼承、封裝、多態(tài);二)、分析下面的代碼,回答問(wèn)題(每題10分,共40分)1下面程序的執(zhí)行結(jié)果是什么為什么classBprotected:virtualvoidf()coutBendl;public:voidg()f();classC:publicBprotected:voidf()c

6、outCf()調(diào)用C中的f。2下面程序的執(zhí)行結(jié)果是什么為什么classApublic:intn;classB:publicA;classC:publicA;classD:publicB,publicCintgetn()returnB:n;voidmain()Dd;:n=10;:n=20;cout:n:nendl;答:輸出:1020D類是從b類和c類派生的,而b類和c類又都是從類派生的,但各有自己的副本。所以對(duì)于對(duì)象d,:n與:n是兩個(gè)不同的數(shù)據(jù)成員,互無(wú)聯(lián)系。所以程序結(jié)果為:10,203.下面程序的執(zhí)行結(jié)果是什么為什么classAprotected:intx;public:A()x=0;A(i

7、ntval)x=val;voidoperator+(int)x+;classB:publicAinty;public:B():A()y=0;B(intval1,intval2):A(val1)y=val2;voidoperator-(int)x-;y-;voiddisp()coutxyendl;voidmain()Bd(3,5);();d+;();d-;d-;();答:輸出:354523Bd(3,5);下面程序的執(zhí)行結(jié)果是什么為什么ClassAPublic:virtualvoiddisp()cout”classA”,endl;ClassB:publicAPublic:voiddisp()cou

8、tclassB,endl;classC:publicApublic:voiddisp()cout”classC”disp();voidmain()Bb;Cc;Cdisp(&b);Cdisp(&c);答:輸出:classBclassCB類和c類是a類的派生,p作為參數(shù)時(shí),是一個(gè)A的指針,但是編譯時(shí),調(diào)的disp是各自繼承類成員函數(shù)。所以輸出是classB,classC。三、根據(jù)要求編寫(xiě)程序:(每題15分,共30分)設(shè)計(jì)一個(gè)父親類Father、母親類Mother和子女類Child,其主要數(shù)據(jù)是姓名,子女使用父親的姓,最后輸出子女的姓名和父母姓名答:程序如下:#include#includeusin

9、gnamespacestd;classfatherpublic:father()father(stringx,stringm)this-x=x;this-m=m;voidgetx()coutvv陳;voidshow()coutvv父親:vvxvvmvvendl;private:stringx;stringm;classmatherpublic:mather(stringx,stringm)mx=x;mm=m;voidshow()coutv母親:vvmxvvmmvvendl;private:stringmx;stringmm;classchild:publicfatherpublic:child

10、(stringm)mm=m;voidshow()coutmmendl;private:stringmm;voidmain()fatherf(陳,國(guó)強(qiáng));matherm(李,麗);childc(文化);coutvv姓名:;();();();();運(yùn)行結(jié)果如下:姓名:陳文化父親:陳國(guó)強(qiáng)母親:李麗設(shè)計(jì)一個(gè)三角形類Triangle,包含三角形三條邊長(zhǎng)的私有數(shù)據(jù)成員,另有一個(gè)重載運(yùn)算符+,以實(shí)現(xiàn)兩個(gè)三角形對(duì)象的面積之和。答:Input輸入數(shù)據(jù)有多組,每組占二行,每行包括3個(gè)整數(shù),表示三角形的三條邊(保證能構(gòu)成三角形)。Output對(duì)于每組數(shù)據(jù),輸出占一行。先是第1個(gè)三角形的面積,然后是第2個(gè)三角形的面積,接下來(lái)是兩個(gè)面積之和。中間用空格隔開(kāi)。SampleInput345456SampleOutput#include#include#includeusingnamespacestd;classTriangleprivate:doublex,y,z;doublep,m;staticdoubles;public:Triangle(doublea,doubleb,doublec)x=a;y=b;z=c;p=(y+x+z)/2;m=sqrt(p*(p-x)*(p-y)*(p-z

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論