2023年面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)_第1頁(yè)
2023年面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)_第2頁(yè)
2023年面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)_第3頁(yè)
2023年面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)_第4頁(yè)
2023年面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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)介

知識(shí)模塊五面向?qū)Τ绦蛟O(shè)計(jì)基礎(chǔ)

一、選擇題

1.()不是構(gòu)造函數(shù)的特性。AA、構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同;B、構(gòu)造函數(shù)可以重載;

C、構(gòu)造函數(shù)可以設(shè)立缺省參數(shù);D、構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明。

2.()是析構(gòu)函數(shù)的特性。

A、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù);B、析構(gòu)函數(shù)名與類(lèi)名不同;AC、析構(gòu)函數(shù)的定義只

能在類(lèi)體內(nèi);D、一個(gè)類(lèi)中只能定義一個(gè)析構(gòu)函數(shù);

3.要運(yùn)營(yíng)一個(gè)C語(yǔ)言編寫(xiě)的應(yīng)用程序如下:。

?main(){

。printf("he11oworId");

?}

在VC6的開(kāi)發(fā)環(huán)境中,應(yīng)當(dāng)建立哪種類(lèi)型的工程?。

A,Win32App1ication。

B,Win32ConsoleApp1ication

C,MFCAppWizard(exe)。

D,UtilityProject。

4.關(guān)于VC6建立的工程的說(shuō)法,對(duì)的的是:

A,工程只能包含.cpp和.h類(lèi)型的文獻(xiàn)

B,工作區(qū)文獻(xiàn)的后綴是.dsp

C,用鼠標(biāo)雙擊工作區(qū)文獻(xiàn)可以打開(kāi)整個(gè)工程

D,在VC的FileView中可以看到工程中所有的文獻(xiàn),涉及工作區(qū)文獻(xiàn),項(xiàng)目文獻(xiàn)等

5.在VC6中提供了成員方法的自動(dòng)列表和方法參數(shù)的自動(dòng)提醒功能,但有時(shí)不能正常顯

示,這是應(yīng)當(dāng)刪除

該工程目錄下那種后綴類(lèi)型的文獻(xiàn)后,再次打開(kāi)工程,就可以正常提醒了。

A,clw

B,ncb

C,opt

D,aps

6.有關(guān)句柄(handle)的說(shuō)法,下列不對(duì)的的是:

A句柄是一個(gè)4字節(jié)長(zhǎng)的整數(shù)值

B句柄用來(lái)標(biāo)記應(yīng)用程序中不同的對(duì)象或同類(lèi)對(duì)象中的不同實(shí)

C消息是句柄的一種

D畫(huà)筆的句柄類(lèi)型是HPEN,畫(huà)刷的句柄類(lèi)型是HBRUSH

7.C++對(duì)C語(yǔ)言作了很多改善,下列描述中()使得C語(yǔ)言發(fā)生了質(zhì)變,從面向過(guò)程變成

了面向?qū)ο?。AA、增長(zhǎng)了一些新的運(yùn)算符;

B、允許函數(shù)重載,并允許設(shè)立缺省參數(shù);

C、規(guī)定函數(shù)說(shuō)明必須用原型;

D、引進(jìn)了類(lèi)和對(duì)象的概念;

8.下列描述中,()是錯(cuò)誤的。M、內(nèi)聯(lián)函數(shù)重要解決程序的運(yùn)營(yíng)效率問(wèn)題;

B、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前;

C、內(nèi)聯(lián)函數(shù)中可以涉及各種語(yǔ)句;

[)、對(duì)內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明;

9.在C++中,關(guān)于下列設(shè)立缺省參數(shù)值的描述中,()是對(duì)的的。AA、不允許設(shè)立缺

省參數(shù)值;

B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒(méi)有指定缺省值的參數(shù);K、只能在函數(shù)的定

義性聲明中指定參數(shù)的缺省值;

D、設(shè)立缺省參數(shù)值時(shí),必須所有都設(shè)立;

10.()不是構(gòu)造函數(shù)的特性。AA、構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同;AB、構(gòu)造函數(shù)可以

重載;

C、構(gòu)造函數(shù)可以設(shè)立缺省參數(shù);AD、構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明。

11.是析構(gòu)函數(shù)的特性。&A、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù);£B、析構(gòu)函數(shù)名與

類(lèi)名不同;Ac、析構(gòu)函數(shù)的定義只能在類(lèi)體內(nèi);AD、一個(gè)類(lèi)中只能定義一個(gè)析構(gòu)函數(shù)

12.C++對(duì)C語(yǔ)言作了很多改善,下列描述中()使得C語(yǔ)言發(fā)生了質(zhì)變,從面向過(guò)程變成

了面向?qū)ο蟆?/p>

A、增長(zhǎng)了一些新的運(yùn)算符;B、允許函數(shù)重載,并允許設(shè)立缺省參數(shù);4、規(guī)定函數(shù)說(shuō)明

必須用原型;D、引進(jìn)了類(lèi)和對(duì)象的概念;

13.下列描述中,()是錯(cuò)誤的。

A、內(nèi)聯(lián)函數(shù)重要解決程序的運(yùn)營(yíng)效率問(wèn)題;B、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次

被調(diào)用之前;此、內(nèi)聯(lián)函數(shù)中可以涉及各種語(yǔ)句;D、對(duì)內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明;

14.在C++中,關(guān)于下列設(shè)立缺省參數(shù)值的描述中,()是對(duì)的的。M、不允許設(shè)立缺省

參數(shù)值;B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒(méi)有指定缺省值的參數(shù);“、只能在函數(shù)

的定義性聲明中指定參數(shù)的缺省值;D、設(shè)立缺省參數(shù)值時(shí),必須所有都設(shè)立;

15.在進(jìn)行完任何C++流的操作后,都可以用C++流的有關(guān)成員函數(shù)檢測(cè)流的狀態(tài);其中

只能用于檢測(cè)輸入流狀態(tài)的操作函數(shù)名稱(chēng)是()。

Afai1Beof

CbadDgood

16.C++語(yǔ)言是從初期的C語(yǔ)言逐漸發(fā)展演變而來(lái)的。與C語(yǔ)言相比,它在求解問(wèn)題方法上

進(jìn)行的最大改善是()?

A面向過(guò)程B面向?qū)ο?/p>

C安全性D復(fù)用性

17.C++對(duì)C語(yǔ)言作了很多改善,即從面向過(guò)程變成為面向?qū)ο蟮闹匾蛩厥?

A.增長(zhǎng)了一些新的運(yùn)算符B.允許函數(shù)重載,并允許設(shè)立缺省參數(shù)

aC.規(guī)定函數(shù)說(shuō)明符必須用原型D.引進(jìn)了類(lèi)和對(duì)象的概念

18.C++源程序文獻(xiàn)的缺省擴(kuò)展名是

A.cppB.exeC.objD.lik

19.在inta=3,int*p=&a;中,*p的值是_______

20.類(lèi)的析構(gòu)函數(shù)是在___調(diào)用的。aA.類(lèi)創(chuàng)建時(shí)B.創(chuàng)建對(duì)象時(shí)A

C.刪除對(duì)象時(shí)D.不自動(dòng)調(diào)用

21.假定AB為一個(gè)類(lèi),則執(zhí)行ABX;語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的

A.有參構(gòu)造函數(shù)B.無(wú)參構(gòu)造函數(shù)

C.拷貝構(gòu)造函數(shù)1).賦值構(gòu)造函數(shù)

22.假定要對(duì)類(lèi)AB定義加號(hào)操作符重載成員函數(shù),實(shí)現(xiàn)兩個(gè)AB類(lèi)對(duì)象的加法,并返回相加

結(jié)果,則該成員函數(shù)的聲明語(yǔ)句為:

A.ABoperator+(AB&a,AB&b)B.A

Boperator+(AB&a)

C.operator+(A

Ba)D.AB&opera

tor+()

23.假定AB為一個(gè)類(lèi),則執(zhí)行ABx;語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的4A.

有參構(gòu)造函數(shù)B.無(wú)參構(gòu)造函數(shù)

C.拷貝構(gòu)造函數(shù)D.賦值構(gòu)造函數(shù)

)

25.假定AB為一個(gè)類(lèi),則該類(lèi)的拷貝構(gòu)造函數(shù)的聲明語(yǔ)句為.M.AB&

(ABx);B.AB(ABx)C.AB(AB&);D.AB(AB*

x)

26.下列哪項(xiàng)不是面向?qū)ο蟪绦蛟O(shè)計(jì)的重要特性?AA.封裝B.繼承C.多態(tài)

D結(jié)構(gòu)

27.對(duì)象之間的互相作用和通信是通過(guò)消息。下列哪項(xiàng)不是消息的組成部分?

A接受消息的對(duì)象B要執(zhí)行的函數(shù)的名字

C.要執(zhí)行的函數(shù)的內(nèi)部結(jié)構(gòu)D函數(shù)需要的參數(shù)

28.關(guān)于C++與C語(yǔ)言關(guān)系的描述中,()是錯(cuò)誤的。

A.C語(yǔ)言是C++語(yǔ)言的一個(gè)子集B.C語(yǔ)言與C++語(yǔ)言是兼容的

C.C++語(yǔ)言對(duì)C語(yǔ)言進(jìn)行了一些改善D.C++語(yǔ)言和C語(yǔ)言都是面向?qū)ο蟮?/p>

29.已知:類(lèi)A中一個(gè)成員函數(shù)說(shuō)明如下:v。idSet(A&a);其中,A&的含義是()。

A.指向類(lèi)A的指針為a4B將a的地址值賦給變量Set

C.a是類(lèi)A對(duì)象的引用,用來(lái)作函數(shù)Set()的參數(shù)

D.變量A與a按位與作為函數(shù)Set()的參數(shù)

30.已知:print。函數(shù)是一個(gè)類(lèi)的常成員函數(shù),它無(wú)返回值,下列表達(dá)中,()是對(duì)的的。

A.voidprint()const;B.constvoidprint();

Cvoidconstprint();D.voidprint(const);

31.假如類(lèi)A被說(shuō)明成類(lèi)B的友元,則_____

A.類(lèi)A的成員即類(lèi)B的成員B.類(lèi)B的成員即類(lèi)A的成員

C.類(lèi)A的成員函數(shù)不得訪問(wèn)類(lèi)B的成員D.類(lèi)B不一定是類(lèi)A的友元

32.假定AB為一個(gè)類(lèi),則執(zhí)行ABx;語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的

A.有參構(gòu)造函數(shù)B.無(wú)參構(gòu)造函數(shù)

C.拷貝構(gòu)造函數(shù)D.賦值構(gòu)造函

33.下面的函數(shù)聲明中,是"voidBC(inta,intb);”的重載函數(shù)?

A.intBC(inta,intb)B.voidBC(inta,charb)

C.floatBC(inta,intb,intc=0)D.voidBC(inta,intb=0)

34.下面的哪一個(gè)保存字不能作為函數(shù)的返回類(lèi)型?

A.voidB.intC.newD.long

35.下列關(guān)鍵字中,用以說(shuō)明類(lèi)中公有成員的是()。

Afriend;Bprivate;Cprotected;Dpub1ic

36.進(jìn)行文獻(xiàn)操作時(shí)需要包含()文獻(xiàn)。

Aiostream,h;Bstdlib.h;Cstdio.h;Dfstream.h

C指向字符串常量的指針;D指向字符串的指針常量

37.能用作用戶(hù)自定義標(biāo)記符。

AfriendB-varC)3xyzDF1oat

38.面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與放在一起,做為一個(gè)互相依存、不可分割的整體來(lái)

解決。

A對(duì)數(shù)據(jù)的操作B信息C數(shù)據(jù)隱藏D數(shù)據(jù)抽象

39.一個(gè)類(lèi)的析構(gòu)函數(shù)。

A唯一的B允許重載C至多可有兩個(gè)D只能是缺省的

40.下列說(shuō)法對(duì)的的是:[]o

A一個(gè)類(lèi)的對(duì)象可以是另一個(gè)類(lèi)的成員

B一個(gè)類(lèi)可以作為另一個(gè)類(lèi)的派生類(lèi)

C一個(gè)類(lèi)定義在另一個(gè)類(lèi)的說(shuō)明中

D以上說(shuō)法均對(duì)的

41.下列各類(lèi)函數(shù)中,不是類(lèi)的成員函數(shù)。

A構(gòu)造函數(shù)B析構(gòu)函數(shù)C友元函數(shù)D拷貝構(gòu)造函數(shù)

42.有關(guān)析構(gòu)函數(shù)的說(shuō)法不對(duì)的的是。

A析構(gòu)函數(shù)有且只有一個(gè)B析構(gòu)函數(shù)無(wú)任何函數(shù)類(lèi)型

C析構(gòu)函數(shù)和構(gòu)造函數(shù)同樣可以有形參D析構(gòu)函數(shù)的作用是在對(duì)象被撤消時(shí)收回先前

分派的內(nèi)存空間

43.通??截悩?gòu)造函數(shù)的參數(shù)是o

A某個(gè)對(duì)象名B某個(gè)對(duì)象的成員名

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

44.己知:類(lèi)A中一個(gè)成員函數(shù)說(shuō)明如下:voidSet(A&a);其中,A&的含義是()。

△A.指向類(lèi)A的指針為a△B將a的地址值賦給變量Set

Ca是類(lèi)A對(duì)象的引用,用來(lái)作函數(shù)Set()的參數(shù)可).變量A與a按位與作為函數(shù)Se

t()的參數(shù)

45.已知:print()函數(shù)是一個(gè)類(lèi)的常成員函數(shù),它無(wú)返回值,下列表達(dá)中,()是

對(duì)的的。

Avoidprint()const;B.constvoidprint();

C.voidconstprint();D.voidprint(const);

46.類(lèi)的析構(gòu)函數(shù)是在___調(diào)用的。

A.類(lèi)創(chuàng)建時(shí)B.創(chuàng)建對(duì)象時(shí)

C.刪除對(duì)象時(shí)D.不自動(dòng)調(diào)用

47.假如類(lèi)A被說(shuō)明成類(lèi)B的友元,則____

A.類(lèi)A的成員即類(lèi)B的成員B.類(lèi)B的成員即類(lèi)A的成員

C.類(lèi)A的成員函數(shù)不得訪問(wèn)類(lèi)B的成員D.類(lèi)B不一定是類(lèi)A的友元

二、填空題

(1)在用class定義一個(gè)類(lèi)時(shí),數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪問(wèn)權(quán)限是。

(2)具有純虛函數(shù)的類(lèi)稱(chēng)為。

(3)派生類(lèi)的重要用途是可以定義其基類(lèi)中。

(4)當(dāng)建立___________,程序自動(dòng)調(diào)用該類(lèi)的構(gòu)造函數(shù)。

(5)類(lèi)是用戶(hù)定義的類(lèi)型,具有類(lèi)類(lèi)型的變量稱(chēng)作。

(6)當(dāng)一個(gè)成員函數(shù)被調(diào)用時(shí),該成員函數(shù)的—指向調(diào)用它的對(duì)象。

(7)拷貝函數(shù)通過(guò)使用引用來(lái)初始化創(chuàng)建中的對(duì)象。

(8)靜態(tài)成員函數(shù)、友元函數(shù)、構(gòu)造函數(shù)和析構(gòu)函數(shù)中,不屬于成員函數(shù)的是。

(9)對(duì)象的三大基本特性是多態(tài)性、、封裝性。

(10)當(dāng)一個(gè)類(lèi)對(duì)象離開(kāi)它的作用域時(shí),系統(tǒng)將自動(dòng)調(diào)用該類(lèi)的.

(11)假定AB為一個(gè)類(lèi),則執(zhí)行"ABa[10];”語(yǔ)句時(shí),系統(tǒng)自動(dòng)調(diào)用該類(lèi)構(gòu)造函數(shù)的次

數(shù)為.

(12)指向基類(lèi)的對(duì)象的指針變量也可以指向的對(duì)象。

(13)面向?qū)ο蟪绦蛑?,?shí)體的狀態(tài)由表達(dá),其行為由表達(dá)。

(14)定義函數(shù)時(shí),應(yīng)在參數(shù)個(gè)數(shù)或參數(shù)類(lèi)型上有所不同。

(15)類(lèi)是用戶(hù)定義的類(lèi)型,具有稱(chēng)作對(duì)象。

(16)使用指向?qū)ο蟮闹羔榿?lái)標(biāo)記類(lèi)的成員,則必須使用的運(yùn)算符是一。

(17)拷貝初始化構(gòu)造函數(shù)使用來(lái)初始化創(chuàng)建中的對(duì)象。

(18)封裝規(guī)定一個(gè)對(duì)象應(yīng)具有明確的功能,并具有以便和其它對(duì)象互相作

用。

(25)在刪除一個(gè)動(dòng)態(tài)對(duì)象時(shí),將自動(dòng)調(diào)用該動(dòng)態(tài)對(duì)象所屬類(lèi)的函數(shù)。

三、判斷題

(1)在定義一個(gè)類(lèi)時(shí),不能在類(lèi)說(shuō)明中對(duì)數(shù)據(jù)成員使用表達(dá)式進(jìn)行初始化。()

(2)假如在類(lèi)聲明中沒(méi)有定義復(fù)制構(gòu)造函數(shù),就不能用一個(gè)對(duì)象去初始化另一個(gè)對(duì)象()

(3)類(lèi)的兩個(gè)基類(lèi)中都有某個(gè)同名成員,在派生類(lèi)中對(duì)這個(gè)成員的訪問(wèn)也許出現(xiàn)二義性。(對(duì))

(4)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,凡操作屬于同一種對(duì)象的,就將這些操作放進(jìn)該對(duì)象類(lèi)中,形

成該類(lèi)的成員函數(shù)。

()

(5)說(shuō)明函數(shù)原型時(shí)不需要指明每個(gè)函數(shù)參數(shù)的名字,只需要說(shuō)明每個(gè)參數(shù)的類(lèi)型和返回值

類(lèi)型就可以了。()

(6)所有的表達(dá)式都有值。()

(7)程序的編譯是以文獻(xiàn)為單位的,因此將程序分到多個(gè)文獻(xiàn)中可以減少每次對(duì)程序修改所

帶來(lái)的編譯工作量。()

(8)類(lèi)的靜態(tài)數(shù)據(jù)成員需要在定義每個(gè)類(lèi)的對(duì)象時(shí)進(jìn)行初始化。()

四、程序填空

(1)在下面程序的橫線處填上適當(dāng)?shù)恼Z(yǔ)句,使該程序執(zhí)行結(jié)果為10.

#include“iostream,h”

c1assMyClass

{pub1ic:

MyC1ass(inta){x=a;}

〃取x值

private:

intx;

);

intmain()

{MyClassmy(10);

cout<<my.getnum()?endl;

return0;

)

(2)在下面程序的底畫(huà)線處填上適當(dāng)?shù)淖志?使該程序執(zhí)行結(jié)果為60o

#inc1ude

classbase{intX;

public:

voidint(intinitX){X=initX;}

intGetnumO{returnX+7;}

voidmain()

cout<}

(3)在下面程序的底畫(huà)線處填上適當(dāng)?shù)淖志洌戤咁?lèi)中成員函數(shù)的定義。

#inc1ude

classbox{private:

intcolor;intupx,upy;int1owx,lowy;

pub1ic:

friendintsame_color(linea,boxb);

voiddefine_box(intx1,intyl,intx2,inty2){upx=xl;upy=yl;}

};

class1ine{private:

intco1or;intstartx,starty;intlen;

public:

friend_intsamecolor(1inea,boxb);

voiddefine_1ine(intx,inty){startx=x;}

};

intsamecolor(1inea,boxb)

{if(a.color==b.color)

return1;

return0;}

(4)在下面程序的底畫(huà)線處填上適當(dāng)?shù)淖志?完畢程序。

#include

classA{

(inti){cout<voidg(){coutV<"g\n";}

clossB'A{

pub1ic*voidh(){cout<<“h\n";}

);

voidmain()

{Bdl;

dl.f(6);

dl.h();

)

(5)在下列程序的空格處填上適當(dāng)?shù)淖志?使輸出為:0,8,5。

#include

#include

classMagic{

doublex;

public:

Magic(doubled=0.00):x(fabs(d)){}

Magic{returnMagic(sqrt(x*x+c.x*c.x));}

?(ostream&os,Magicc){returnos<);

voidmain()

{Magicma;

cout<)

(6)在下面程序的底畫(huà)線處填上適當(dāng)?shù)淖志?,使該程序?zhí)行結(jié)果為10。

#include<iostream.h>

c1assbase{intX;

public:

〃為X置值

__________〃取X值

};

voidmain()

{basetest;

test.init(3);

cout?test.Getnum();

I

(7)在下列程序的底畫(huà)線處填上適當(dāng)?shù)淖志?完畢類(lèi)中成員函數(shù)的定義。

#include<iostream.h>

classbox{private:

intcolor;intupx,upy;int1owx,Iowy;

public:

friendintsame-color(linea,boxb);

set-color(intc){color=c;}

voiddefine-box(intx1,intyl,intx2,inty2){upx=x1;upy=yl;}

);

classline{private:

intco1or;intstartx,starty;intlen;

pub1ic:

friend-intsame-color(linea,boxb);

set-co1or(intc){color=c;}

voiddefine-line(intx,inty){startx=x;}

);

intsame-color(1inea,boxb)

{if(a.co1or==b.co1or)

return1;

return0;}

(8)在下面程序的底畫(huà)線處填上適當(dāng)?shù)淖志洌戤叧绦颉?/p>

#include<iostream.h>

classA{

publie:voidf(inti){cout<<i<<endl;}

voidg(){cout?w\n";}

);

c1ass{

public:voidh(){cout<<“h\n”;}

A::f;

);

voidmain()

{Bdl;

d1.f(6);

______?h();

)

(9)在下列程序的空格處填上適當(dāng)?shù)淖志?,使輸出?0,7,5。

#inc1ude<iostream.h>

#inc1ude<math.h>

c1assMagic{

doublex;

public:

(doub1ed=0.00):x(fabs(d)){}

Magicoperator+(Magicc){returnMagic(sqrt(x*x+c.x*c.x));}

friendostream&operator<<(ostream&os,Magicc){returnos<<c.x;}

);

voidmain()

cout?ma?,?Magic(-7)?,?ma+Magic(3)+Magic(4);

I

(10)在下面程序橫線處填上適當(dāng)字句,以使該程序執(zhí)行結(jié)果為:

54321

05.54.43.32.21.1

#inc1ude<iostream.h>

template<classT>

voidf(){

for(inti=0;i<n/2;i++)

t=a[i],a[i]=a[n-1-i],a[n-1—i1=t;

)

voidmain(){

inta[5]={1,2,3,4,5};

doubled[6>{l.1,2.2,3.3,4.4,5.5};

f(a,5);f(d,6);

for(inti=0;i<5;i++)

cout<<a[i]<<"";

cout<<endl;

for(i=0;i<6;i++)

cout?d[i]?“";

cout<<end1;

)

五、程序閱讀題

L分析以下程序執(zhí)行的結(jié)果A#include<iostream.h>

#inc1ude<std1ib.h>ACIassSampleA(

publie:Aintx,y;ASample(){x=y=0;}

Sample(inta,intb){x=a;y=b;}Avoiddisp()

{Acout<<z,x=,,?x?u,y=z,<<y<<endl;

)

);

voidmain()

Samp1esi(2,3);

s1.disp();

}A2.分析以下程序的執(zhí)行結(jié)果A#include<iostream.h>AC1assSampieA{Ain

tx,y;Apublic:ASample(){x=y=0;}ASample(inta,intb){x=a;

y=b;}A-Sample()

{Aif(x==y)

cout<<〃x=y〃V<end1;Aelse

M

cout<X〃x!=y?endl;A}AVoiddisp()

{Acout<<,,x=,,<<x<<,/,y=,z?y?endl;*}a};

voidmain()A{

Samples1(2,3);

si.dispO;

)

3,分析以下程序的輸出結(jié)果a#includeViostream.h>

classSampleA{

intx;

public:ASamp1e(inta)

(

=,,

x=a;Acout<<"construetingobject:x<<x?end1;A}A};

voidfunc(intn)

{^staticSampleobj(n);

}Avoidmain()A{Afunc(l);Afunc(10);

}

4分析以下程序的執(zhí)行結(jié)果A#include<iostream.h>AclassSample

{Aintx,y;

pub1ic:ASample(){x=y=0;}ASample(inta,intb){x=a;y=b;}

voiddisp()A{ACout<<"x='*<<x<<z,,y='*<<y?end1;

}

);

voidmain()

{ASamp1es(2,3),*p=&s;Ap->disp();A}

5分析以下程序的執(zhí)行結(jié)果A#include<iostream.h>

classSamp1e

{

public:intx;

inty;

voiddispO

{

cout?,/x=,/<<x<<,\y=n<<y<<endl;△}

};AVoidmain()

I

intSample::*pc;與amples;Apc=&Sample::x;AS.*pc=10;Apc=&Samp1e::

y;AS.*pc=20;

s.disp();A}

6分析以下程序的執(zhí)行結(jié)果聞include〈iostream.h>M1assSamp1eAintX,

y;

public:

Sample(){x=y=0;}

Sample(inta,intb){x=a;y=b;}AVOiddisp()A{

cout"?x<<,z,y=,,<<y?end1;A}A};

voidmain()A{ASamples1,s2(2,3);AS1.disp();

s2.dispO;

)

7分析以下程序執(zhí)行的結(jié)果斕include<iostream,h>AC1assSample

(

intx,y;

public:

Sample(){x=y=0;}^Sample(inta,intb){x=a;y=b;}

?Samp1e()A{

if(x==y)ACOut<<^x=y,z?endl;AeIse

cout<</zx!=y,z<<endl;A)Avoiddisp()

{Acout?z,x="?x<<〃,y=/,<<y<<endl;

}可;

voidmain()

!

Samp1esi(2,3);As1.dispO;ASI."Sample();A}

8分析以下程序的執(zhí)行結(jié)果

#include<iostrearn.h>MlassSample

{Aintx,y;

publie:ASamp1e(){x=y=0;}

Sample(inta,intb){x=a;y=b;}

?Sample()

{Aif(x==y)acoutVV〃x=y〃<<end1;

else

cout?nx!=y,z?endl;△}

voiddisp()

{ACout?z,x="z?x?z,,y="?y<<endl;MA};svoidmain()A{ASample

si,s2(2,3);

si.disp();

s2.disp();

)

9.分析以下程序的執(zhí)行結(jié)果A#inc1ude<iostream,h>

#include<stdlib.h>^classSampleA(

public:Aintx,y;

Samp1e(){x=y=0;}

Samp1e(inta,intb){x=a;y=b;}Avoiddisp()A{

cout<<z,x=,,<<x?",y="z?y?endl;A}「Sample()

{Aif(x==y)Acout?,zx=yz,?end1;Aelse

cout<<,,x!=y,,<<end1;A}

};AAvoidmain()

(

Samp1es1(2,3);

s1.disp();

if(si.x==2)

exit(0);

)

10.分析以下程序的執(zhí)行結(jié)果

#inc1ude<iostream.h>

classSampleA{

intx,y;Apublic:ASample(){x=y=O;}ASample(inta,intb){x=a,y=b;}

?Sample()A{

if(x==y)ACout<Cx=y,,?endl;

e1seAcout?/zx!=y'*<<end1;A}

voiddisp()

{ACOUt<<”x=z,<<x?",y=,z?y<<end1;

}A};

voidmain()A{

Sample(2,3);IM}也分析以下程序的執(zhí)行結(jié)果

#include<iostream,h>Ac1assSampleA{

publie:

Samp1e();ASample(int);A"Sample();AVOiddisplay();

protected:Mntx;A};

Samp1e::Sample()

IAx=0;Acout<<z/constructingnormally\n";悶ASample::Samp1e(int

m)A{Ax=m;ACOut<</zconstructingwithanumber:z,<<x<<endl;

}A

voidSample::disp1ay()

{

cout<<°displayanumber:,z<<x<<end1;A}

Sample::?Sample。A{

coutV<〃destructing\n,z;

}MVoidmain()A{

Sampleobj1;^Samp1eobj2(20);

obj1.display();

obj2.display();12A}A.分析以下程序的執(zhí)行結(jié)果

#inc1ude<iostream.h>MlassSample

{Aintn;

staticintsum;

publie:ASample(intx){n=x;}

voidadd(){sum+=n;}Avoiddisp()a{ACout<V〃n="<<n<<〃,sum="<Xsum

<<end1;

)

};A^intSample::sum=0;〃靜態(tài)數(shù)據(jù)成員賦初值^voidmain()A{ASample

a(2),b(3),c(5);aa.add();%.disp();ab.add();

b.disp();AC.add();

c.disp();

)

13.分析以下程序執(zhí)行的結(jié)果

#include<iostream.h>AdassSample

(

intA;AstaticintB;Apublic:

Sample(inta){A=a,B+=a;}

staticvoidfunc(Samples);A};AAVoidSample::func(Samples)A{

,,,,,z

cout<<A='1<<s.A?,B=<<B<<end1;

}AAintSamp1e::B=0;△

voidmain()

{ASamplesi(2),s2(5);ASamp1e::func(s1);

Sample::func(s2);

}A14.分析以下程序的執(zhí)行結(jié)果A#inc1ude<iostream.h>

c1assSampleA{^charc1,c2;4public:aSample(chara){c2=(cl=

a)-32;}AVOiddisp()

{Acout<<c1<<〃轉(zhuǎn)換為〃<Vc2?end1;A}A};

voidmain()

I

Samplea('a'),b('b');

a.disp();Ab.disp();A)A15.分析以下程序執(zhí)行的結(jié)果A#inc1ude<iostream.h>

AClassSample

{Mntx,y;

pub1ic:^Sample(){x=y=0;}Wample(inta,intb){x=a;y=b;}oidd

/z//=,/

isp()A{Acout<<^x=?x?,y<<y?end1;

}A};AAVOidmain()A{^Samplesi,s2(l,2),s3(10,20);ASample*pa[3]={&sl,

&s2,&s3};

for(inti=0;i<3;i++)

pa[i]->disp();

}14.分析以下程序的執(zhí)行結(jié)果

#include<iostream.h>MiassSample

{Aintx,y;Apublic:ASamp1e(){x=y=0;}^Samp1e(inta,intb){x

=a,y=b;}

voiddisp()

IACout<<"x=〃V<x<<",y=〃<Vy?endl;A)A);

AVoidmain()

{ASamp1esi,s2(1,2),s3(10,20);「ample*Pa[3];

Pa[O]=&s1;Apa[l]=&s2;

Pa[2]=&s3;

for(inti=0;i<3;i++)

Pa[i]->disp();

}A17.分析以下程序的執(zhí)行結(jié)果

#include<iostream.h>AclassSample■*{

public:

intx;

inty;Avoiddisp()A{ACOUt<<〃x=〃<<x<<〃,y=°?y?end1A}A};

A

voidmain()A{AintSample::*pc;ASamples,*p=&

溫馨提示

  • 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)論