面向?qū)ο蟪绦蛟O(shè)計-學(xué)習(xí)指南_第1頁
面向?qū)ο蟪绦蛟O(shè)計-學(xué)習(xí)指南_第2頁
面向?qū)ο蟪绦蛟O(shè)計-學(xué)習(xí)指南_第3頁
面向?qū)ο蟪绦蛟O(shè)計-學(xué)習(xí)指南_第4頁
面向?qū)ο蟪绦蛟O(shè)計-學(xué)習(xí)指南_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計-學(xué)習(xí)指南一、選擇題1.繼承機制的作用是(      )  A.信息隱藏        B.數(shù)據(jù)封裝  C.定義新類        D.數(shù)據(jù)抽象2.類的析構(gòu)函數(shù)的作用是(      )  A.一般成員函數(shù)       B.類

2、的初始化  C.對象的初始化       D.刪除對象創(chuàng)建的所有對象3.類的析構(gòu)函數(shù)是在(      )調(diào)用的。  A.類創(chuàng)建時        B.創(chuàng)建對象時  C.刪除對象時       D.不自動調(diào)用4.在(      )情況下適宜采用inlin

3、e定義內(nèi)聯(lián)函數(shù)。  A.函數(shù)體含有循環(huán)語句     B.函數(shù)體含有遞歸語句  C.函數(shù)代碼少、頻繁調(diào)用     D.函數(shù)代碼多、不常調(diào)用5.如果類A被說明成類B的友元,則(      )  A.類A的成員即類B的成員    B.類B的成員即類A的成員  C.類A的成員函數(shù)不得訪問類B的成員 D.類B不一定是類A的友元6.在類中聲明轉(zhuǎn)換函數(shù)時不能指定(

4、0;     )  A.參數(shù)    B.訪問權(quán)限   C.操作    D.標(biāo)識符7.在公有繼承的情況下,基類成員在派生類中的訪問權(quán)限(      )  A.受限制   B.保持不變   C.受保護    D.不受保護8.C+類體系中,不能被派生類繼承的有(  

5、    )  A.轉(zhuǎn)換函數(shù)        B.構(gòu)造函數(shù)  C.虛函數(shù)        D.靜態(tài)成員函數(shù)9.假定AB為一個類,則執(zhí)行AB x;語句時將自動調(diào)用該類的(      )  A.有參構(gòu)造函數(shù)       B.無參構(gòu)造函數(shù)  C.拷貝構(gòu)造函數(shù)&#

6、160;      D.賦值構(gòu)造函數(shù)10.C+語言建立類族是通過(      )  A.類的嵌套   B.類的繼承   C.虛函數(shù)    D.抽象類11.C+對C語言作了很多改進(jìn),即從面向過程變成為面向?qū)ο蟮闹饕蚴?      )  A.增加了一些新的運算符  B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù)

7、0; C.規(guī)定函數(shù)說明符必須用原型  D.引進(jìn)了類和對象的概念12.下列符號不能組成標(biāo)識符的是(      )  A.連接符        B.下劃線  C.大小寫字母       D.數(shù)字字符13.類型修飾符unsigned不能修飾(      )  A. char   

8、60;     B. int  C. long int        D. float14.在int a=3,int *p=&a;中,*p的值是(      )  A.變量a的地址值      B.無意義  C.變量p的地址值      D.315.下列關(guān)于指針

9、的操作中,錯誤的是(      )  A.兩個同類型的指針可以進(jìn)行比較運算  B.可以用一個空指針賦給某個指針  C.一個指針可以加上兩個整數(shù)之差   D.兩個同類型的指針可以相加16.重載函數(shù)在調(diào)用時選擇的依據(jù)中,錯誤的是(      )  A.函數(shù)的參數(shù)       B.參數(shù)的類型  C.函數(shù)的名字   

10、    D.函數(shù)的類型17.一個函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用(      )  A.內(nèi)聯(lián)函數(shù)        B.重載函數(shù)  C.遞歸函數(shù)        D.嵌套函數(shù)18.下列不是描述類的成員函數(shù)的是(      )  A.構(gòu)造函數(shù)  &#

11、160;     B.析構(gòu)函數(shù)  C.友元函數(shù)        D.拷貝構(gòu)造函數(shù)19.構(gòu)造函數(shù)不具備的特征的是(      )  A.構(gòu)造函數(shù)的函數(shù)名與類名相同   B.構(gòu)造函數(shù)可以重載  C.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)    D.構(gòu)造函數(shù)必須指定類型說明20.通常,拷貝構(gòu)造函數(shù)的參數(shù)是(   

12、;   )  A.某個對象名       B.某個對象的成員名  C.某個對象的引用名      D.某個對象的指針名21、下列關(guān)于類型轉(zhuǎn)換的描述中,()是錯誤的。 A、在不同類型操作數(shù)組成的表達(dá)式中,其表達(dá)式類型一定是最高類型double型; B、逗號表達(dá)式的類型是最后一個表達(dá)式的類型; C、賦值表達(dá)式的類型是左值的類型; D、由低向高的類型轉(zhuǎn)換是保值映射。 22、()不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類名相同;

13、B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類型說明。23、在C+中,關(guān)于下列設(shè)置參數(shù)默認(rèn)值的描述中,()是正確的。 A、不允許設(shè)置參數(shù)的默認(rèn)值; B、設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時設(shè)置; C、設(shè)置參數(shù)默認(rèn)值時,應(yīng)該是先設(shè)置右邊的,再設(shè)置左邊的; D、設(shè)置參數(shù)默認(rèn)值時,應(yīng)該全部參數(shù)都設(shè)置。24、關(guān)于new運算符的下列描述中,()是錯誤的。 A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組; B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除; C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù); D、使用它創(chuàng)建對象數(shù)組時必須指定初始值。25、重載函數(shù)在調(diào)用時選擇的依據(jù)中,()是錯

14、誤的。 A、參數(shù)個數(shù); B、參數(shù)的類型; C、函數(shù)名字; D、函數(shù)的類型26、下列描述中,()是抽象類的特性。 A、可以說明虛函數(shù); B、可以進(jìn)行構(gòu)造函數(shù)重載; C、可以定義友元函數(shù); D、不能說明其對象。27、()是析構(gòu)函數(shù)的特征。 A、一個類中只能定義一個析構(gòu)函數(shù); B、析構(gòu)函數(shù)名與類名不同; C、析構(gòu)函數(shù)的定義只能在類體內(nèi); D、析構(gòu)函數(shù)可以有一個或多個參數(shù);28、關(guān)于delete運算符的下列描述中,()是錯誤的。 A、它必須用于new返回的指針; B、它也適用于空指針; C、對一個指針可以使用多次該運算符; D、指針名前只有一對方括號符,不管所刪除數(shù)組的維數(shù)。29、const int

15、*p說明不能修改()。 A、p指針; B、p指針指向的變量; C、p指針指向的數(shù)據(jù)類型; D、上述A、B、C三者。30、關(guān)于子類型的描述中,()是錯誤的。A、子類型就是指派生類是基類的子類型;B、一種類型當(dāng)它至少提供了另一種類型的行為,則這種類型是另一種類型的子類型;C、在公有繼承下,派生類是基類的子類型;D、子類型關(guān)系是不可逆的。二、填空題1.對象的三大基本特性是多態(tài)性、_、封裝性。2.C+語言的函數(shù)參數(shù)傳遞方式有傳值和_。3.重載賦值操作符時,應(yīng)聲明為_函數(shù)。4.用_聲明的基類稱為虛基類。5.用_聲明函數(shù)稱為虛函數(shù)。6.派生類對基類繼承控制訪問有三種。派生類可以定義其基類中不具備的_。7.

16、靜態(tài)成員是對象的成員,_函數(shù)不是類的成員。8.在函數(shù)體之前加_關(guān)鍵字可以防止覆蓋函數(shù)改變數(shù)據(jù)成員的值。9.一個const對象只能訪問_成員函數(shù)。10.使用友元函數(shù)是為了提高程序效率,且節(jié)約了_開銷。11.在面向?qū)ο蟪绦蛟O(shè)計中,將一組數(shù)據(jù)和這組數(shù)據(jù)有關(guān)的操作集合組裝在一起形成對象,這個過程叫_;不同的對象可以調(diào)用相同名稱的函數(shù)并導(dǎo)致完全不同的行為的現(xiàn)象稱為_。12.假如一個類的名稱為MyClass,則這個類缺省的構(gòu)造函數(shù)名稱為_;使用這個類的一個對象初始化該類的另一個對象時,可以調(diào)用_構(gòu)造函數(shù)來完成此功能。13.局部對象和全局對象中,在同一程序中_生存期最長;this指針始終指向當(dāng)前正在發(fā)出成員

17、函數(shù)調(diào)用命令的_。14.所謂賦值兼容規(guī)則是指在公有派生情況下,一個_類的對象可以作為_類的對象來使用的地方。15.帶有_的類稱為抽象類,它只能作為_來使用。16.控制格式輸入輸出的操作中,函數(shù)_是設(shè)置域?qū)挼?,函?shù)_是設(shè)置填充字符。(要求給出函數(shù)名和參數(shù)類型)17.類模板用來表達(dá)具有相同_的數(shù)據(jù)_集。18.對已有的運算符賦予多重含義,使同一運算符作用于不同類型的數(shù)據(jù),稱為_,它的實質(zhì)就是_。19、所有的面向?qū)ο蟪绦蛟O(shè)計語言,都支持三個共同的本質(zhì)特征、。20、為了解決程序中函數(shù)調(diào)用的效率問題,引入了,定義時需在函數(shù)前面加上說明。21、在類的定義當(dāng)中,缺省的成員是成員。22、利用成員函數(shù)對二元運算符

18、進(jìn)行重載時,其左操作數(shù)為,右操作數(shù)為。23、設(shè)置虛基類的目的是。24、動態(tài)聯(lián)編是在的支持下實現(xiàn)的。三、問答題1.什么是面向?qū)ο蟪绦蛟O(shè)計?它與面向過程程序設(shè)計的主要區(qū)別是什么? 2. 什么是繼承,單繼承,多繼承? 請舉例說明。 3. 有哪幾種派生方式? 4.什么是虛函數(shù)? 5.對象有什么特征? 6. 面向?qū)ο蟪绦蛟O(shè)計語言有什么特征? 7.什么是純虛函數(shù)?什么是抽象類? 8 C+為什么要有自己的輸入輸出系統(tǒng)?。9.什么是對象?什么是類? 10. 保護成員的特性是什么?11. 函數(shù)模板和模板函數(shù)的區(qū)別 4.什么是多態(tài)性? 舉例說明。三、應(yīng)用題1. 如下兩個函數(shù)是否等價? float fun();fl

19、oat fun(void); 2. 下列在內(nèi)存中分配一個整型數(shù)組并將其初始化為零的語句,正確與否?int *myval=new int40(O); 3. 建立類box,box的構(gòu)造函數(shù)被傳遞了三個double值,每一個double值表示盒子的一條邊長。用box類計算立方體的體積,并存儲在一個double變量中,在box類中包含一個成員函數(shù)vol(),用來顯示每個box對象的體積。4.下面是一個計算器的類的定義,請完成該類的實現(xiàn)。 Class couter Int value; Public:Muter(int number);Void increment();Void decrement();

20、Int getvalue();Void print();參考答案一、 選擇題1.C       2.C        3.D        4.C       5.D6.C       7.B     

21、;   8.C        9.B       10.B11.D      12.A       13.D       14.D      15.D   16

22、.A      17.A       18.C       19.D      20.C21.A 22.D 23.B 24.D 25.B 26A 27.A 28.B 29B 30A 二、填空題1.抽象 2.傳地址 3.友元 4.class virtual 5.virtual6.數(shù)據(jù)和操作 7.友元 8.const 9.const 10.調(diào)

23、用類的成員函數(shù)11數(shù)據(jù)封裝多態(tài)性 12MyClass()拷貝(或復(fù)制)13全局對象對象 14派生基15純虛函數(shù) 基類 16setw(int)fill(char)17 處理方法 對象 18運算符重載 函數(shù)重載19封裝 多態(tài)性 繼承 20內(nèi)聯(lián)函數(shù)  inline21Private 22this指針 成員函數(shù)參數(shù)23消除二義性虛函數(shù) 三、問答題1. 面向?qū)ο蟪绦蛟O(shè)計是一種程序設(shè)計方法,它的主要結(jié)構(gòu)特點是:程序一般分為類的定義和類的使用兩部分,在主程序中定義各種對象并規(guī)定它們之間傳遞消息的規(guī)律;程序中一切操作都是通過向?qū)ο蟀l(fā)送消息來實現(xiàn)的,對象接收到消息后,啟動有關(guān)方法完成相應(yīng)的操作。它與面

24、向過程程序設(shè)計的主要區(qū)別,從表面看,一個主要面向?qū)ο螅粋€主要面向過程。面向過程程序設(shè)計的核心是程序功能分解,劃分功能模塊,產(chǎn)生數(shù)據(jù)結(jié)構(gòu)以及對這些數(shù)據(jù)結(jié)構(gòu)操作的過程,程序就這樣構(gòu)成了。而面向?qū)ο蟪绦蛟O(shè)計則將數(shù)據(jù)和操作過程封裝成對象,獨立性強,可重用性強,給人展示了一種清新的程序“建筑”風(fēng)格。2. 繼承是指由一個父類衍生出一個子類。父類和子類之間有共享特性,包括數(shù)據(jù)和方法。有差別和新增部分,比如現(xiàn)實中兒子長的酷像父親但是又不能說完全一樣。繼承分為單繼承和多繼承。 單繼承是指從一個類繼承而來,只具備父類的屬性和方法。比如定義個叫做“人”的類,那么“男人”類就是一個繼承,男人具備了人的基本特征,比如

25、有五官,直立行走以及會勞動等。 多繼承是指從多個類繼承而來,具備多個類的屬性和方法。比如有“玩具”類和“車”類兩個類,同時繼承這兩個類則產(chǎn)生“玩具車”類5什么是繼承,單繼承,多繼承? 請舉例說明。 繼承是指由一個父類衍生出一個子類。父類和子類之間有共享特性,包括數(shù)據(jù)和方法。有差別和新增部分,比如現(xiàn)實中兒子長的酷像父親但是又不能說完全一樣。繼承分為單繼承和多繼承。 單繼承是指從一個類繼承而來,只具備父類的屬性和方法。比如定義個叫做“人”的類,那么“男人”類就是一個繼承,男人具備了人的基本特征,比如有五官,直立行走以及會勞動等。多繼承是指從多個類繼承而來,具備多個類的屬性和方法。比如有“玩具”類和

26、“車”類兩個類,同時繼承這兩個類則產(chǎn)生“玩具車”類。3有兩種派生方式:公有派生和私有派生。4. 虛函數(shù)是在基類中被關(guān)鍵字virtual說明,并在派生類中重新定義的函數(shù)。它是重載的一種表現(xiàn)形式,它是一種動態(tài)的重載方式。在派生類中重新定義時,其函數(shù)原型,包括返回值,函數(shù)名,參數(shù)個數(shù)與參數(shù)類型的順序,都必須與基類中的原型完全相同。5對象有如下特征:(1)每一個對象必須有一個名字以區(qū)分其他對象,這個名字不能理解為人的名字,因為它不允許重名,可以理解為我們的身份證號。(2)我們用屬性來描述一個對象的某些特征(3)有一組操作,每一個操作決定對象的一個行為。6面向?qū)ο蟪绦蛟O(shè)計語言的特征是: (1)它支持對象

27、的概念(包括對象的所有特征,如封裝等); (2)它要求對象屬于類;(3)它提供繼承機制。7純虛函數(shù)是在一個基類中說明的虛函數(shù),它在該基類中沒有定義,但是要求在它的派生類中定義自己的版本,或重載說明為純虛函數(shù)。純虛函數(shù)的一般形式如下:virtual type func_name(參數(shù)表)=O;type是函數(shù)的返回類型,func_name是函數(shù)名。如果一個類至少有一個純虛函數(shù),那么就稱該類為抽象類。由于抽象類至少包含一個沒有定義功能的純虛函數(shù),因此抽象類只能用作其他類的基類,不能建立抽象類對象。抽象類不能用作參數(shù)類型,函數(shù)返回類型或顯式轉(zhuǎn)換的類型。但是可以聲明指向抽象類的指針或引用,此指針可以指向它的派生類,進(jìn)而實現(xiàn)多態(tài)性。8因為在C+中需要定義眾多的用戶自定義類型,面向?qū)ο蠓椒ǖ臄?shù)據(jù)封裝性就是通過用戶所定義的類類型來體現(xiàn)的,而繼承性和多態(tài)性也是通過對片j戶定義的類對象的操作來體現(xiàn)的。但C語言的輸入輸出系統(tǒng)不支持用戶自定義的對象。因此C+建立了一個可擴展的輸入輸出系統(tǒng),它可以通過修改和擴展來加入用戶自定義類型及相應(yīng)操作。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論