《面向?qū)ο蟪绦蛟O(shè)計(jì)》模擬考題_第1頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)》模擬考題_第2頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)》模擬考題_第3頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)》模擬考題_第4頁(yè)
《面向?qū)ο蟪绦蛟O(shè)計(jì)》模擬考題_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.../封面作者:PanHongliang僅供個(gè)人學(xué)習(xí)二、填空題〔每小題1分,共10分.1.C++通過(guò)和類(lèi)模板來(lái)支持泛型程序設(shè)計(jì).2.定義重載函數(shù)時(shí),應(yīng)至少使重載函數(shù)參數(shù)地類(lèi)型或不同.3.封裝是面向?qū)ο蟪绦蛟O(shè)計(jì)地基本特性,把數(shù)據(jù)和合成一個(gè)整體.4.可以在具有類(lèi)型轉(zhuǎn)換功能地構(gòu)造函數(shù)地聲明前面加上關(guān)鍵字,禁止隱式類(lèi)型轉(zhuǎn)換.5.類(lèi)中成員地訪問(wèn)權(quán)限可以分為公有、和私有.6.如果類(lèi)地定義中沒(méi)有顯式初始化對(duì)象成員,則系統(tǒng)將調(diào)用該對(duì)象地以實(shí)現(xiàn)初始化.7.如果一個(gè)派生類(lèi)只有唯一地基類(lèi),這種繼承關(guān)系稱(chēng)為.8.用new動(dòng)態(tài)創(chuàng)建對(duì)象,用刪除該對(duì)象.9.在C++類(lèi)中,有一種不能定義對(duì)象地類(lèi),這樣地類(lèi)只能被繼承,稱(chēng)為.10.在STL中,如同一個(gè)特殊地指針〔用以指向容器中某個(gè)位置地?cái)?shù)據(jù)元素.三、單項(xiàng)選擇題〔每小題2分,共30分.1.基于面向?qū)ο蟪绦蛟O(shè)計(jì)地軟件系統(tǒng)應(yīng)該具有<>.A、高內(nèi)聚、低耦合地特征B、低內(nèi)聚、低耦合地特征C、高內(nèi)聚、高耦合地特征D、低內(nèi)聚、高耦合地特征2.假定AB為一個(gè)類(lèi),則該類(lèi)地拷貝構(gòu)造函數(shù)地聲明語(yǔ)句為<>.A、AB<ABx>B、AB<AB*x>C、AB&<ABx>D、AB<AB&>3.假定Matrix是名稱(chēng)空間osg地一個(gè)類(lèi),則下列語(yǔ)句錯(cuò)誤地是<>.A、usingosg::Matrix。Matrixm。B、usingnamespaceosg::Matrix。Matrixm。C、usingnamespaceosg。Matrixm。D、osg::Matrixm。4.靜態(tài)成員函數(shù)沒(méi)有<>.A、返回值B、this指針C、指針參數(shù)D、返回類(lèi)型5.類(lèi)模板地實(shí)例化<>.A、屬于動(dòng)態(tài)聯(lián)編B、在連接時(shí)進(jìn)行C、在編譯時(shí)進(jìn)行D、在運(yùn)行時(shí)進(jìn)行6.能用友元函數(shù)重載地運(yùn)算符是<>.A、->B、=C、+D、[]7.派生類(lèi)地對(duì)象對(duì)它地基類(lèi)成員中<>是可以訪問(wèn)地.A、公有繼承地私有成員B、私有繼承地公有成員C、公有繼承地公有成員D、公有繼承地保護(hù)成員8.如果要禁止對(duì)象之間地賦值運(yùn)算,應(yīng)該把operator=聲明為<>成員.A、privateB、friendC、publicD、protected9.若要打開(kāi)一個(gè)用于輸入地文本文件file.txt,下列操作錯(cuò)誤地是<>.A、ifstreaminFile。inFile.open<"file.txt">。B、fstreaminFile<"file.txt",ios::binary>。C、ifstreaminFile<"file.txt">。D、fstreaminFile<"file.txt",ios::in>。10.通過(guò)<>可以在現(xiàn)有類(lèi)地基礎(chǔ)上派生出新地類(lèi).A、繼承B、引用C、包含D、封裝11.下列關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)地描述正確地是<>.A、構(gòu)造函數(shù)和析構(gòu)函數(shù)都可以重載B、析構(gòu)函數(shù)可以定義為虛函數(shù)C、構(gòu)造函數(shù)和析構(gòu)函數(shù)都沒(méi)有返回值D、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能被繼承12.下列關(guān)于引用地用法中,正確地是<>.A、intx=100。int&refx=&x。B、intx=100,&refx。refx=x。C、intx=100。int&refx=x。D、int&refx=100。13.已知類(lèi)A是類(lèi)B地友元,類(lèi)B是類(lèi)C地友元,則<>.A、類(lèi)A地成員函數(shù)可以訪問(wèn)類(lèi)B地對(duì)象地任何成員B、類(lèi)C一定是類(lèi)A地友元C、類(lèi)A一定是類(lèi)C地友元D、類(lèi)C地成員函數(shù)可以訪問(wèn)類(lèi)B地對(duì)象地任何成員14.以下基類(lèi)中地成員函數(shù),哪個(gè)表示純虛函數(shù)<>.A、voidvf<int>=0B、virtualvoidyf<int>{}C、virtualvoidvf<int>D、virtualvoidvf<>=015.以下類(lèi)模板template<classT1,classT2=int,intnum=10>classMyClass{…}。正確地實(shí)例化方式是<>.A、MyClass<char*,,100>C1。B、MyClass<char,100,int>C1。C、MyClass<char,char>C1。D、MyClass<>C1。四、判斷題〔每小題2分,共20分.1.C++函數(shù)可以返回局部對(duì)象地指針或引用.<對(duì)錯(cuò)>2.const數(shù)據(jù)成員地值對(duì)類(lèi)中所有對(duì)象都是一樣地.<對(duì)錯(cuò)>3.定義帶默認(rèn)形參地函數(shù)時(shí),默認(rèn)形參值可以同時(shí)出現(xiàn)在函數(shù)聲明和函數(shù)定義中.<對(duì)錯(cuò)>4.多重繼承中出現(xiàn)地二義性可以用作用域分辨法消除.<對(duì)錯(cuò)>5.賦值運(yùn)算符只能作為成員函數(shù)重載.<對(duì)錯(cuò)>6.即使定義了帶參構(gòu)造函數(shù),系統(tǒng)也會(huì)提供無(wú)參構(gòu)造函數(shù).<對(duì)錯(cuò)>7.如果定義list<int>::iteratorit,若需按偶數(shù)進(jìn)行跳躍式訪問(wèn),可采用迭代器操作it+=2.<對(duì)錯(cuò)>8.虛函數(shù)使用靜態(tài)綁定地函數(shù)調(diào)用機(jī)制.<對(duì)錯(cuò)>9.用new和malloc為對(duì)象動(dòng)態(tài)分配內(nèi)存時(shí),都會(huì)自動(dòng)調(diào)用對(duì)象地構(gòu)造函數(shù).<對(duì)錯(cuò)>10.在堆上創(chuàng)建地多個(gè)對(duì)象地析構(gòu)順序與構(gòu)造順序相反.<對(duì)錯(cuò)>五、程序設(shè)計(jì)題〔每小題10分,共30分,請(qǐng)將設(shè)計(jì)地程序代碼填入到對(duì)應(yīng)地文本框內(nèi).1.定義一個(gè)表示形狀地基類(lèi)Shape類(lèi)和它地派生類(lèi)圓形類(lèi)〔Circle>、正方形類(lèi)〔Square>,具體要求如下:

a>基類(lèi)Shape中有虛函數(shù)area<>和perimeter<>,實(shí)現(xiàn)求形狀地面積和周長(zhǎng),可用cout輸出表示.

b>在main函數(shù)中,每個(gè)派生類(lèi)生成兩個(gè)對(duì)象,共四個(gè)對(duì)象存放于一個(gè)數(shù)組中,用循環(huán)程序訪問(wèn)其求面積和周長(zhǎng)地成員函數(shù).

輸入輸出樣例參考:

輸入形狀類(lèi)型及其邊長(zhǎng)或半徑:Square5.15

輸入形狀類(lèi)型及其邊長(zhǎng)或半徑:Square2.10

輸入形狀類(lèi)型及其邊長(zhǎng)或半徑:Circle3.28

輸入形狀類(lèi)型及其邊長(zhǎng)或半徑:Circle2.01

Square26.5220.60

Square4.418.40

Circle33.8020.61

Circle12.6912.632.建立分?jǐn)?shù)類(lèi)Fraction,其中包含成員分子num和分母den.具體要求如下:

a>重載"+"實(shí)現(xiàn)兩個(gè)分?jǐn)?shù)相加操作;

b>重載"-"實(shí)現(xiàn)兩個(gè)分?jǐn)?shù)相減操作;

c>重載">"和"<",比較兩個(gè)分?jǐn)?shù)地大??;

d>重載">>"和"<<"以輸入輸出分?jǐn)?shù).

輸入輸出樣例參考:

輸入分?jǐn)?shù):13

輸入分?jǐn)?shù):12

A+B:5/6

A-B:-1/6

A>B:false

A<B:true3.設(shè)計(jì)銀行帳戶(hù)類(lèi)Account,基本要求如下:

a設(shè)計(jì)一個(gè)用于表示存款年利率interestRate地靜態(tài)數(shù)據(jù)成員;

b設(shè)計(jì)一個(gè)用于表示當(dāng)前存款金額deposit地私有數(shù)據(jù)成員;

c設(shè)計(jì)一個(gè)用于計(jì)算年利息地公有成員函數(shù)GetAnnualInterest〔注:年利息=存款金額*年利率;

d設(shè)計(jì)一個(gè)用于修改存款年利率地靜態(tài)成員函數(shù)ModifyInterestRate.

輸入輸出樣例參考:

輸入當(dāng)前存款金額和年利率:100000.0325

客戶(hù)年利息:325

輸入新地年利率:0.04

客戶(hù)年利息:400單項(xiàng)選擇題〔共20題,每題1分,共20分

1、下列關(guān)于C++標(biāo)識(shí)符地命名不合法地是C與C#一樣

A.PadB.name_1C.A#bcD._a12

2、若有以下類(lèi)型標(biāo)識(shí)符定義:〔D

intx=2;charw='a';floaty=23.45f;doublez=45.6712;

則表達(dá)式w*x+y-z地結(jié)果類(lèi)型是

A.floatB.charC.intD.double

6、對(duì)重載函數(shù)形參地描述中,錯(cuò)誤地是D重載是重點(diǎn)

A.參數(shù)地個(gè)數(shù)可能不同

B.參數(shù)地類(lèi)型可能不同

C.參數(shù)地順序可能不同

D.參數(shù)地個(gè)數(shù)、類(lèi)型、順序都相同,只是函數(shù)地返回值類(lèi)型不同

7、以下能正確定義數(shù)組并正確賦初值地語(yǔ)句是D

A.intN=5,b[N][N]。

B.inta[2]={{1},{3},{4},{5}}。

C.intc[2][]={{1,2},{3,4}}。

D.intd[3][2]={{1,2},{3,4}}。

8、下列給字符數(shù)組進(jìn)行地初始化中,不正確地是D

A.chars1[]="abcd"。

B.chars2[3]={'x','y','\0'}。

C.chars3[]={'a','x','y','\0'}。

D.chars4[6]={"xyz","mnp"}。

9、通常地拷貝構(gòu)造函數(shù)地參數(shù)是拷貝構(gòu)造函數(shù)功能:用一個(gè)已有的對(duì)象來(lái)初始化一個(gè)被創(chuàng)建的同類(lèi)對(duì)象是一種特殊的構(gòu)造函數(shù)??截悩?gòu)造函數(shù)有深拷貝淺拷貝:默認(rèn)的拷貝構(gòu)造函數(shù)是淺拷貝,只復(fù)制對(duì)象空間不復(fù)制對(duì)象資源。深拷貝需要同時(shí)復(fù)制對(duì)象空間和資源。這個(gè)可能也是重點(diǎn)CA.某個(gè)對(duì)象名B.某個(gè)對(duì)象成員名

C.某個(gè)對(duì)象地引用D.某個(gè)對(duì)象地指針名

10、關(guān)于構(gòu)造函數(shù)特點(diǎn)地描述中,錯(cuò)誤地是A

A.定義構(gòu)造函數(shù)必須指出類(lèi)型〔構(gòu)造函數(shù)特點(diǎn)是無(wú)返回類(lèi)型

B.構(gòu)造函數(shù)地名字與該類(lèi)地類(lèi)名相同

C.一個(gè)類(lèi)中可定義0至多個(gè)構(gòu)造函數(shù)〔不寫(xiě)構(gòu)造函數(shù),系統(tǒng)會(huì)自動(dòng)生成一個(gè)空地構(gòu)造函數(shù)

D.構(gòu)造函數(shù)是一種成員函數(shù)

11、下面程序地運(yùn)行結(jié)果為C

#include<iostream.h>

intadd<inta,intb>。

voidmain<>

{

externextern可以置于變量或者函數(shù)前,以標(biāo)示變量或者函數(shù)的定義在別的文件中,提示編譯器遇到此變量和函數(shù)時(shí)在其他模塊中尋找其定義intx,y。

cout<<add<x,y><<endl。

}

intx=20,y=5。

intadd<inta,intb>

{

ints=a+b。

returns。

}

A.20B.5C.25D.編譯會(huì)提示出錯(cuò)信息

12、關(guān)于常成員地描述中,錯(cuò)誤地是B

A.常成員包含常數(shù)據(jù)成員和常成員函數(shù)兩種

B.常數(shù)據(jù)成員必須是公有地

C.常數(shù)據(jù)成員要使用構(gòu)造函數(shù)成員初始化列表進(jìn)行初始化

D.常對(duì)象只能調(diào)用它地常成員函數(shù),不能調(diào)用其它地成員函數(shù)

13、關(guān)于友元函數(shù)允許另一個(gè)類(lèi)或函數(shù)訪問(wèn)你的類(lèi)的東西。ClassA{Private:inti=0。Friendclassb//聲明}ClassB{}Voidmain<>{Aa1=newA<>。Bb1=newB<>。Intj=b1.i。\\可直接訪問(wèn)A類(lèi)里的}如B是A的友元類(lèi),那么a對(duì)b完全開(kāi)放包括private,也就是B可以訪問(wèn)A里任何東西地描述中,錯(cuò)誤地是B

A.友元函數(shù)不是成員函數(shù)

B.友元函數(shù)只能訪問(wèn)類(lèi)中私有成員

C.友元函數(shù)破壞隱藏性,盡量少用

D.友元函數(shù)說(shuō)明在類(lèi)體內(nèi),使用關(guān)鍵字friend

14、如果有intx,*p。floaty,*q。則下面操作正確地是C

A.p=xB.p=q

C.p=&x同類(lèi)型,地址D.p=&y

16、若數(shù)組名作實(shí)參而指針變量作形參,函數(shù)調(diào)用時(shí)實(shí)參傳給形參地是D

A.數(shù)組地長(zhǎng)度

B.數(shù)組第一個(gè)元素地值

C.數(shù)組所有元素地值

D.數(shù)組第一個(gè)元素地地址

17、對(duì)于動(dòng)態(tài)分配內(nèi)存空間描述正確地是D

A.使用new運(yùn)算符分配地內(nèi)存空間地長(zhǎng)度必需是常量

B.delete運(yùn)算符可以釋放動(dòng)態(tài)地存儲(chǔ)空間和靜態(tài)地存儲(chǔ)空間

C.由new分配地內(nèi)存空間是不連續(xù)地

D.delete運(yùn)算符只能釋放由new分配地動(dòng)態(tài)存儲(chǔ)空間

18、能夠釋放對(duì)象所占資源地是〔A

A.析構(gòu)函數(shù)與構(gòu)造函數(shù)對(duì)應(yīng),構(gòu)造函數(shù)分配空間,析構(gòu)函數(shù)釋放B.?dāng)?shù)據(jù)成員

C.構(gòu)造函數(shù)D.靜態(tài)成員函數(shù)

19、虛函數(shù)地定義是在基類(lèi)中進(jìn)行地,定義時(shí)需要冠以關(guān)鍵字C

A.staticB.frend

C.virtualD.public

20、在C++中串流類(lèi)是在頭文件strstrea.h中定義地,下列不屬于串流類(lèi)地是C

A.strstreamB.ostrstream

C.ofstreamD.istrstream

二、填空題〔共9題16空,每空1分,共16分

1、函數(shù)重載時(shí),編譯系統(tǒng)會(huì)根據(jù)__形參地類(lèi)型__或__形參地個(gè)數(shù)__來(lái)區(qū)分.與返回類(lèi)型無(wú)關(guān)

2、若有chara[80]。則cin>>aCout<<""代表輸出表示從鍵盤(pán)上讀入一個(gè)__字符串__到數(shù)組a中.

3、若希望用一個(gè)已有對(duì)象來(lái)構(gòu)造另一個(gè)同類(lèi)型地對(duì)象,可以使用__拷貝構(gòu)造函數(shù)__來(lái)實(shí)現(xiàn).

4、靜態(tài)成員〔static屬于__類(lèi)__,而不屬于__任何一個(gè)對(duì)象__,它被同一個(gè)類(lèi)地所有對(duì)象共享.

5、類(lèi)地繼承方式有____繼承、____繼承和____繼承.拷貝構(gòu)造函數(shù)功能:用一個(gè)已有的對(duì)象來(lái)初始化一個(gè)被創(chuàng)建的同類(lèi)對(duì)象是一種特殊的構(gòu)造函數(shù)??截悩?gòu)造函數(shù)有深拷貝淺拷貝:默認(rèn)的拷貝構(gòu)造函數(shù)是淺拷貝,只復(fù)制對(duì)象空間不復(fù)制對(duì)象資源。深拷貝需要同時(shí)復(fù)制對(duì)象空間和資源。這個(gè)可能也是重點(diǎn)extern可以置于變量或者函數(shù)前,以標(biāo)示變量或者函數(shù)的定義在別的文件中,提示編譯器遇到此變量和函數(shù)時(shí)在其他模塊中尋找其定義允許另一個(gè)類(lèi)或函數(shù)訪問(wèn)你的類(lèi)的東西。ClassA{Private:inti=0。Friendclassb//聲明}ClassB{}Voidmain<>{Aa1=newA<>。Bb1=newB<>。Intj=b1.i。\\可直接訪問(wèn)A類(lèi)里的}如B是A的友元類(lèi),那么a對(duì)b完全開(kāi)放包括private,也就是B可以訪問(wèn)A里任何東西同類(lèi)型,地址與構(gòu)造函數(shù)對(duì)應(yīng),構(gòu)造函數(shù)分配空間,析構(gòu)函數(shù)釋放Cout<<""代表輸出版權(quán)申明本文部分內(nèi)容,包括文字、圖片、以及設(shè)計(jì)等在網(wǎng)上搜集整理。版權(quán)為潘宏亮個(gè)人所有Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'spersonalownership.用戶(hù)可將本文的內(nèi)容或服務(wù)用于個(gè)人學(xué)習(xí)、研究或欣賞,以及其他非商業(yè)性或非盈利性用途,但同時(shí)應(yīng)遵守著作權(quán)法及其他相關(guān)法律的規(guī)定,不得侵犯本網(wǎng)站及相關(guān)權(quán)利人的合法權(quán)利。除此以外,將本文任何內(nèi)容或服務(wù)用于其他用途時(shí),須征得本人及相關(guān)權(quán)利人的書(shū)面許可,并支付報(bào)酬。Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebythepr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論