2024年c題庫(kù)含答案1_第1頁(yè)
2024年c題庫(kù)含答案1_第2頁(yè)
2024年c題庫(kù)含答案1_第3頁(yè)
2024年c題庫(kù)含答案1_第4頁(yè)
2024年c題庫(kù)含答案1_第5頁(yè)
已閱讀5頁(yè),還剩67頁(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)介

假定AB引用是某低變量的別名,射引用的操作就是封被引用變量的操作。

6A.B

CB.金昔

假定AB懸壹種類,則執(zhí)行ABx;^句畤將自勤調(diào)用該類的輾參構(gòu)造函數(shù)。

6A.W

rB.?

構(gòu)造函數(shù)用來(lái)初始化類的新封象,構(gòu)造函數(shù)與類同名,返回類型只能卷void。

rA.W

△B.籍

用new勤態(tài)分派的內(nèi)存是在堆中分派的,而不是在棧中分派的。

6A.W

B.金昔

使用關(guān)鍵字class定義的類中缺省的訪冏權(quán)限是私有(private)的。

%A.W

CB.?

在公有繼承中,基類中的公有組員和私有組員在派生類中都是可見(jiàn)的。

rA.W

6B.tg-

c++as言的襟識(shí)符是不辨別大小寫的。

「A.W

6B.名昔

作用域運(yùn)算符(::)只能用來(lái)限定組員函數(shù)所屬的類。

rA.W

B.拿音

申明封象畤,類名前面不需要加class關(guān)鍵字。

A.B

B.金昔

C++程序壹般應(yīng)常具有main函數(shù),它是C++程序執(zhí)行的人口。

6A.W

rB.?

可以在類的構(gòu)造函數(shù)中封崢態(tài)數(shù)據(jù)組員迤行初始化。

rA.W

6B.£昔

C++考普言中,既容繼承,又容言午多繼承。

6A.封

「B.金昔

派生類的繼承方式有兩種:公有繼承和私有繼承。

CA.W

6B.籍

多繼承狀況下,派生類的構(gòu)造函數(shù)的執(zhí)行次序取決于定義派生類畤所指定的各基類的次序。

?A.W

CB.

類的私有組員只能被類中的組員函數(shù)訪冏,任何類以外的函數(shù)封它憑的訪冏都是非法的。

rA.W

%B.$昔

構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能重載。

rA.W

B.

在基類中被申明卷虛函數(shù)的類的組員函數(shù)必須在每他I派生類中顯式申明卷虛函數(shù),才能具有

多態(tài)的特性。

A.W

1B.

有關(guān)運(yùn)算符重載,運(yùn)算符函數(shù)的返回類型不能申明懸基本數(shù)據(jù)類型。

rA.封

6B.由昔

將類的壹種封象賦值,合該類的另壹種封象畤,調(diào)用拷貝構(gòu)造函數(shù)。

CA.封

%B.金昔

模板可以使程序封任何數(shù)據(jù)類型迤行同樣方式的處理。

%A.W

B.籍

1.編譯源文獻(xiàn)彳發(fā)產(chǎn)生的文獻(xiàn)是()。

1A.目的文獻(xiàn)

CB.可執(zhí)行文獻(xiàn)

rC.源文獻(xiàn)

「D.^文獻(xiàn)

2.每值1C++程序只能有壹種()。

rA.全局變量

「B.函數(shù)

rC.醺文獻(xiàn)

GD.主函數(shù)

3.使用內(nèi)聯(lián)函數(shù)的好處是()。

A.增是函數(shù)調(diào)用次數(shù)

"B.提高代碼執(zhí)行效率

rC.減少代碼量,增強(qiáng)代碼可鐐性

CD.隱藏內(nèi)部實(shí)現(xiàn)

4.下列不是函數(shù)重載所規(guī)定的條件是()。

CA.函數(shù)名相似

B.函數(shù)返回值類型不壹樣

rC.參數(shù)類型不壹樣

「D.參數(shù)彳因數(shù)不壹樣

5.下列哪兩彳固函數(shù)懸重載函數(shù)()。

A.voidal(),voida2()

B.intb(intx),floatb(intx)

C.charc(doubley),charc(inty,double2)

D.boold(doubley),boold(doubley,intx=0)

6.在面封封象措施中,實(shí)垣信息隱蔽依托的是()。

QA.封象的封裝

CB.卦象的繼承

rC.封象的多態(tài)

CD.卦象的分類

7.所謂數(shù)據(jù)封裝就是將壹組數(shù)據(jù)和與追組數(shù)據(jù)有關(guān)操作組裝在壹起,形成壹種實(shí)體,適實(shí)

體也就是()。

A.類

B.封象

C.函數(shù)體

D.數(shù)據(jù)塊

8.下列有關(guān)類定義的^法中,封的的是()。

1*A.在類衷定義的函數(shù)卷內(nèi)聯(lián)函數(shù)

rB.類組員的默認(rèn)訪冏權(quán)限是保護(hù)的

rC.數(shù)據(jù)組員必須被申明卷私有的

rD.組員函數(shù)只能在類體外迤行定義

9.有關(guān)類和封象不封的的^法是()。

CA.類是壹種類型,它封裝了數(shù)據(jù)和操作

「B.封象是類的實(shí)例

°C.壹種類的封象只有壹種

rD.壹種封象必屬于某值I類

10.構(gòu)造體中定義的組員默認(rèn)的訪冏屬性卷().

A.public

B.private

C.friend

D.protected

11.類中定義的組員默認(rèn)的訪冏屬性卷()。

A.public

B.private

C.friend

D.protected

12.有關(guān)構(gòu)造函數(shù)的論述不封的的是()O

A.構(gòu)造函數(shù)名必須和類名壹致

CB.構(gòu)造函數(shù)在定義封象畤自勤執(zhí)行

「C.構(gòu)造函數(shù)輾任何函數(shù)類型

"D.在壹種類中構(gòu)造函數(shù)有且僅有壹種

13.下列有關(guān)析構(gòu)函數(shù)的描述中,誤的是()。

1A.析構(gòu)函數(shù)可以重載

rB.析構(gòu)函數(shù)由系統(tǒng)自勤調(diào)用

「C.每值1封象的析構(gòu)函數(shù)只被調(diào)用壹次

C【).每低1類均有析構(gòu)函數(shù)

14.壹般拷貝構(gòu)造函數(shù)的參數(shù)是()。

rA.封象名

rB.封象的組員名

仆C.封象的引用名

rD.封象的指針名

15.在類外定義組員函數(shù)畤,需要在函數(shù)名前加上()。

rA.類名

CB.封象名

rC.作用域運(yùn)算符

1*D.類名和作用域運(yùn)算符

16.在類定義中,卷闡明組員的訪冏權(quán)限,private,protected,public可以出現(xiàn)次數(shù)

()O

1*A.次數(shù)沒(méi)有詳細(xì)限制

B.每種至多壹次

C.public至少壹次

CD.每種至少壹次

17.有關(guān)靜態(tài)數(shù)據(jù)組員的描述中皓誤的是()。

「A.類的靜態(tài)數(shù)據(jù)組員是該類所有封象所共享的

*D.類的靜態(tài)數(shù)據(jù)組員在在該類每他封象中都保留壹種備份

rC.類的靜態(tài)數(shù)據(jù)組員必須迤行初始化

rD.類的靜態(tài)數(shù)據(jù)組員可以不通遇封象來(lái)訪冏

18.若壹種類的數(shù)據(jù)組員用const關(guān)鍵字修飾,則該數(shù)據(jù)組員()。

「A.靜態(tài)函數(shù)中可以封該組員賦值

、B.構(gòu)造函數(shù)只能通謾初始化列表封該組員初始化

rC.任何函數(shù)都不能使用該組員

rD.外部函數(shù)可以封該組員賦值

19.有兩他類X和Y,且Y有壹種構(gòu)造函數(shù)Y::Y(Xx);那么如下言吾句:

Xa;

Yb(a);

不曾調(diào)用下面的哪他函數(shù)()。

rA.Y的構(gòu)造函數(shù)Y(Xx)

6B.Y的拷貝(復(fù)制)構(gòu)造函數(shù)

rC.X的默認(rèn)構(gòu)造函數(shù)

「D.X的拷貝(復(fù)制)構(gòu)造函數(shù)

20.已知類A的定義。假設(shè)xA的射象,則在類外方冏x封象中數(shù)據(jù)組員a和b分別

應(yīng)采用()。

classA{

private:

inta;

public:

intgetValue0{

returna;

)

intb;

};

A.x::getVcilue(),x::b

r”B.x.a,x..b

C.x.a(),x.b()

D.x.getValucO,x.b

21.假設(shè)程序中先前已^定義了A,B,C三值1類,他#■!的構(gòu)造函數(shù)分別畬愉出A

constructed^Bconstructed和Cconstructed,那么又定義了類D,并在main函數(shù)中

定義了壹種D類的封象,部分代碼如下:

classD{

public:

D():a(),b(),c(){}

private:

Aa;

Bb;

Cc;

};

intmainO{

Dd;

return0;

)

程序的輸出成果卷()O

A.AconstructedBconstructedCconstructed

B.CconstructedBconsti'uctedAconstructed

C.編譯籍誤

D.編譯器決定

22.已知類CA中的某佃組員是類CB的封象,若要把道兩值1類定義在同壹種文獻(xiàn)中,則

)。

A.CA必須定義在CB之前

B.CB必須定義在CA之刖

C.若CA定義在CB之彳爰,則CA的申明必須出目前CB的定義之前

D.若CB定義在CA之彳缸則CB的申明必須出目前CA的定義之前

23.在設(shè)計(jì)麥種類的畤候,假如但愿容^宣種不屬于該類的函數(shù)訪冏該類的私有組員,應(yīng)常

使用哪他關(guān)鍵字()O

A.public

B.private

6C.friend

C

D.protected

24.有關(guān)友元函數(shù)的描述中,籍誤的是()。

6A.友元函數(shù)是組員函數(shù)

rB.友元函數(shù)能訪冏類中私有組員

rC.友元函數(shù)破壤封裝性

CD.友元函數(shù)申明在類體內(nèi)

25.假加類A是類B的友元,則().

rA.類A的組員是類B的組員

「B.類B的組員是類A的組員

°C.類A的組員函數(shù)可以訪冏類B的私有組員

D.類B是類A的友元

26.已知類A是類B的友元類,類B是類C的友元類,則()。

rA.類A壹定是類C的友元

「B.類C壹定是類A的友元

rC.類C的組員函數(shù)可以訪冏類B的射象的任何組員

QD.類A的組員函數(shù)可以訪冏類D的封象的任何組員

27.已知Point類具有趣參(默認(rèn))構(gòu)造函數(shù)和有參構(gòu)造函數(shù),使用Pointa[3]={Point(1,

2),Point(3,4),Point()};疇,調(diào)用了()次Point類的輾參(默認(rèn))構(gòu)造函數(shù)。

*A.1

「B.2

rC.3

CD.4

28.要定義壹種引用變量p使之引用類MyClass的壹種封象,封的的定義^句是()。

C

A.MyClassp=MyClass;

C

B.MyClassp=newMyClass;

C.MyClass&p=newMyClass;

6D.MyClassa,&p=a;

29.有關(guān)this指針的Bft法不封的的是()。

A.不能在程序中修改this指針

「B.this指針可以給其他指針賦值,但不能修改this指針

rC.靜態(tài)組員函數(shù)中沒(méi)有this指針

QD.this指針可以被賦值

30.有關(guān)C++的勤態(tài)存儲(chǔ)分派,下列^法封的的是()。

A.new和delete是C++^言中專門用于勃態(tài)內(nèi)存分派和釋放的函數(shù)

B.勤態(tài)分派的內(nèi)存空間也可以被初始化

C.常系統(tǒng)內(nèi)存不夠疇,曾自勤回收不再使用的內(nèi)存單元,因此程序中不必用delete

釋放內(nèi)存空間

rD.富勒態(tài)分派內(nèi)存失敗畤,系統(tǒng)畬立即瓦解,因此壹定要慎用new

31.觀測(cè)程序

#include<iostream>

usingnamespacestd

intmain()

int*first,*second;

first=newint[5];

second=first;

delete[]second;

delete[]first;

return0;

該程序與否封的,原因是什么?

rA.封的,由于first和second都是獨(dú)立的指針變量

「B.不封的,由于first和second是有關(guān)而非獨(dú)立的指針變量

C.封的,secondf■拷貝first的內(nèi)容

作【).不封的,second和first指向相似的內(nèi)容

32.C++中,不能被派生類繼承的有()。

CA.析構(gòu)函數(shù)

B.虛函數(shù)

rC.靜態(tài)組員函數(shù)

【).友元函數(shù)

33.下列有關(guān)派生類的論述中,金昔誤的是()O

A.派生類至少要有壹種基類

「B.派生類中包括了優(yōu)基類繼承的組員

「C.壹種派生類可以作卷另壹種派生類的基類

*D.基類組員被派生類繼承彳為來(lái)訪冏權(quán)限保持不變

34.下列有關(guān)類型轉(zhuǎn)換封的的是().

CA.基類的封象可以被常作公有派生類封象使用

「B.派生類封象必須顯式的轉(zhuǎn)換卷基類封象

*C.派生類卦象可以初始化基類的引用

「I).基類的指針可以隱含轉(zhuǎn)換卷派生類的指針

35.下列有關(guān)虛基類的描述中,誤的是()。

CA.使用虛基類可以消除由多繼承產(chǎn)生的二義性

「B.構(gòu)造派生類封象畤,虛基類的構(gòu)造函數(shù)只被諦.用壹次

6C.申明"classB:virtualpublicA”闡明類虛基類

「D.建立派生類封象畤,首先調(diào)用虛基類的構(gòu)造函數(shù)

36.如下^法封的的是()。

*A.同壹種運(yùn)算符可以被重載多次

rB.可以通遇運(yùn)算符重載來(lái)創(chuàng)立C++中本來(lái)沒(méi)有的運(yùn)算符

CC.自增運(yùn)算符重載疇,重載函數(shù)不容器午有輸入?yún)?shù)

「D.運(yùn)算符函數(shù)的返回類型不能申明懸基本數(shù)據(jù)類型

37.若A是壹種類名,則如下言吾句將曾產(chǎn)生的A封象值1數(shù)卷()o

Aal,*a2;

A*a3=newA();

A&a4=al;

B.2

C.3

CD.4

38.類C2是類Cl的派生類,下列^法中金昔誤的是().

rA.Cl的組員都是C2的組員

rB.C2的封象可以賦值幺合Cl的變量

1?C.C1的友元函數(shù)都是C2的友元函數(shù)

C【).創(chuàng)立C2的封象畤,要執(zhí)行C1的構(gòu)造函數(shù)

39.若類A和類B都是類模板T的模板類,則如下言先法封的的是()。

rA.A的友元函數(shù)中,可以訪冏B的私有組員

rB.A的封象可以賦值給B類型的變量

rC.A和B共享T的靜態(tài)組員變量

'?D.A的組員函數(shù)中,不能訪冏R(shí)的私有組員

40.若類B是優(yōu)類A派生而來(lái),而^句p.Do();在被多次執(zhí)行疇,有的畤候調(diào)用的是類A

的Do組員函數(shù),有的畤候調(diào)用的是類B的Do組員函數(shù),那么p的類型可以是()。

A.A&

B.A*

rC.B

rD.A

41.將壹種封象放入STL中的容器衷畤,(

*A.實(shí)際上被放入的是該封象的壹種拷貝(副本)

B.實(shí)際上被放入的是該封象的指針

1C.實(shí)際上被放入的是該封象的引用

rD.實(shí)際上被放入的就是該封象自身

42.如下^法封的的是()。

&A.在multiset容器中,可以同步存儲(chǔ)多種相似的元素

B.在set容器中,各元素的存儲(chǔ)位置取決于它儼的插入次序

rC.向deque容器添加新封象疇,需要比較封象的大小

rD.在list容器中.各元素的存儲(chǔ)位置取決于它代的值

43.若有如下定義:

set<int>::iteratoritl;it2,it3;

set<int>s;

則如下IB句不符合^法的是()。

A.itl++;

B.—it2;

6C.it3=itl+1:

D.boolisEnd=(itl==s.end());

44.有關(guān)函數(shù)封象,如下^法中封的的是()。

■A.假如壹種類重載了“()”運(yùn)算符,該類的封象是函數(shù)封象

rB.假如壹種類定義了函數(shù)指針組員變量,則該類的封象是函數(shù)封象

rC.函數(shù)封象類中只能定義組員函數(shù),不能定義組員變量

「D.函數(shù)封象類只能定義壹種函數(shù)封象

45.有如下兩倜類定義:

classAA{};

classBB{

AAvl,*v2;

BBv3;

intv4;

}

其中有壹種組員變量的定義是工昔誤的,道彳固變量是()。

A.vl

B.v2

C.v3

D.v4

46.封于如下代碼,^指出金昔誤的代碼行號(hào)是()。

1classA(

2public:

3A(inta=0){

4x=a;

5)

6staticvoidfl(){

7x++;

8);

9private:

10intx;

11staticinty;

12);

A.3

B.4

C.7

D.11

47.封于如下代碼

1classB{

2public:

3voidf(){)

4voidg()(f();}

5)

6classD:publicB(

7public:

8voidf0(}

9voidg()(B::f())

10)

11intmain(){

12Bb,pb=&b;

13Dd,pd=&d;

14b.f();

15pd->f();

16return0;

17)

其中第M行代碼和第15行代碼分別調(diào)用的是)o

A.B::f()與D::f()

B.B::f()與B::f()

C.D::f()與D::f()

D.D::f()與B::f()

48.如下程序的輸出成果是()。

#include<iostream>

usingnamespacestd;

classA{

public:

A(intal,inta2):al(al),a2(a2){}

voidprint();

voidprint()const;

private:

intal,a2;

};

voidA::print(){

cout?al<<"

}

voidA::printOconst{

cout?a2<<"

}

intmain(){

Aa(l,2);

constAb(l,2);

a.print();

b.print();

return0;

)

rA.11

6B,12

C

C.21

D.22

49.有如下程序:

#include<iostrcam>

usingnamespacestd;

classA{

private:

inta;

pubIic:

A(inta=0):a(a){

cout<<T;

A(A&x)

aX.cl;

cout?"2";

)

~A(){

cout?a;

)

intget_a(){

returna;

)

};

intmain(){

Adl(5),d2(dl);

A*pd=newA(8);

cout?pd->get_a();

deletepd;

return0;

}

程序運(yùn)行畤的輸出成果是()。

A.12185

B.1215588

C.128512

*D.1218855

50.有如下程序:

#include<iostream>

usingnamespacestd;

classA{

public:

voidsetA(int);

private:

inta;

};

classB{

public:

voidsetB(int);

private:

intb;

};

classC:publicA,privateB{

public:

voidsetC(int,int,int);

private:

intc;

);

voidA::setA(intx){

a=x;

}

voidB::setB(intx){

b=x;

)

voidC::setC(intx,inty,intz){

setA(x);

setB(y);

c=z;

}

intmain(){

Cobj;

obj.setA(5);//A

obj.setB(6);//B

obj.setC(6,7,9);//C

return0;

}

main函數(shù)中()是金昔誤的。

A.A^句

'B.B言吾句

C.■吾句

51.設(shè)置虛基類的目的是()。

rA.辨別類與否有虛函數(shù)

CB.使類成卷抽象類

rC.提高程序運(yùn)行效率

QD.消除二義性

52.運(yùn)行疇多態(tài)是基于()。

rA.友元函數(shù)

'B.虛函數(shù)

rC.函數(shù)重載

CD.運(yùn)算符重載

53.C++泛型編程通遇()實(shí)現(xiàn)。

C.,

A.class

"B.template

C.virtual

C

I),typedef

54.有關(guān)函數(shù)申明floatfun(inta,intb)throw,下列論述84的的是()o

A.表明函數(shù)拋出float類型異常

「B.表明函數(shù)拋出任何類型異常

'?C.表明函數(shù)不拋出任何類型異常

CD.^法鰭誤

55.有如下兩值I程序片段:

#includc<vcctor>

〃程序片段壹

std::vector<int>vec;

for(autoitr=vec.begin();itr!=vec.end();itr++)

itr->print();

〃程序片段二

std::vector<int>vec;

for(autoitr=vec.begin();itr!=vec.end();++itr)

itr->print();

則下列法中,封的的有()。

(a)itr的類型卷auto

(b)程序二性能上要比程序壹更好

(c)程序壹和程序二性能上沒(méi)有區(qū)別

A.ab

&B.b

rCr.ac

CD.c

56.假如X是整型變量,則合法的形式是()。

A.&(X+1)

B.*X

C.翻X

D.&*X

57.判斷如下程序的封的性,并闡明原因。

#include<iostream>

usingnamespacestd;

intmainO{

int*first,"second;

first=newint[5];

second=first;

delete1]second;

deletedfirst;

return0;

}

rA.封的,由于first和second都指向勤態(tài)內(nèi)存,需要手勤釋放

CB.不封的,應(yīng)常先釋放first指向的內(nèi)存空間

C.封的,second曾拷貝first的內(nèi)容

作D.不封的,second和first指向相似的勤態(tài)內(nèi)存,反復(fù)釋放曾也考午導(dǎo)致未定義

行懸

58.C++中既可以用于文獻(xiàn)輸入又可以用于文獻(xiàn)輸出的流類是()。

A.fstream

B.ifstream

C

C.ofstream

rDn.l.ost+ream

59.下列是有關(guān)函數(shù)模板的程序,則下列者功法中封的的有()。

^include<iostream>

usingnamespacestd;

template<typenameT>voidf(T&i){cout<<"1";}

template<>voidf(constint&i){cout<<"2";|

intniciinO{

inti=42;

f(i);

return0;

}

(a)程序輸出1

(b)程序輸出2

(c)templateOvoidf(constint&i)顯式實(shí)例化voidf(constint&)

(d)f(i)隱式實(shí)例化函數(shù)voidf(int&)

A.ad

B.be

倚r

C.acd

D.bed

60.下列程序的輸出卷()。

#include<iostream>

usingnamespacestd;

classShape(

public:

virtualvoidprint(){

cout?"SHAPE"?endl;

}

virtual""Shape(){}

);

classBox:publicShape(

pubIic:

virtualvoidprint(inti){

cout?"BOX"?endl;

};

intmainO{

Shape*s=newBox();

s->print();

deletes;

return0;

)

gA.SHAPE

B.BOX

「C.未定義行卷

1、彳他完畢C++源文獻(xiàn)編輯,到生成執(zhí)行文獻(xiàn),C++編譯器必須執(zhí)行的環(huán)節(jié)依次卷編譯、徒接。

%A.W

CB.籍

C++是強(qiáng)類型^言。

6A.W

rB.籍

3、假如a卷int型變量,b懸int型變量,則a/static_cast<double>(b)的值懸int型。

A.W

6B.$昔

4、數(shù)組可以通遇值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)。

CA.W

%B.籍

5、常登種函數(shù)在運(yùn)行謾程中產(chǎn)生壹種異常,則造f固函數(shù)畬終止,不謾整他程序不壹定終止

運(yùn)行。

A.B

B.金昔

6、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能重載。

A.W

6B.籍

7、構(gòu)造函數(shù)可以申明懸虛函數(shù)。

rA.W

%B.it

8、已知類X成功地重載了一、=、+和口適幾種運(yùn)算符,其中肯定屬于組員函數(shù)的運(yùn)算符是:

和口。

△A.W

rB.

9、在申明壹種封象畤假如使用同壹類類型的另壹種封象來(lái)初始化,造畤調(diào)用的是該類的拷

貝構(gòu)造函數(shù)。

6A.封

CB.籍

10、C++^言中,既容前修繼承,又容器午多繼承。

%A.W

rB.?

11、派生類的繼承方式有兩種:公有繼承和私有繼承。

rA"

6B.$昔

12、派生類是優(yōu)基類派生出來(lái)的,它不能再生成新的派生類。

「A.W

作B.籍

13、構(gòu)造函數(shù)可以被繼承,析構(gòu)函數(shù)不能被繼承。

A.W

"B.ig-

14、在公有繼承中,基類中的公有組員和私有組員在派生類中都是可冕的。

「A.W

6B.

15、在公有繼承中,基類中只有公有組員封派生類封象是可見(jiàn)的。

°AT寸

CB.籍

16、某類的友元類中的所有組員函數(shù)可以存取或修改該類的私有組員。

B.

17、多繼承狀況下,派生類的構(gòu)造函數(shù)的執(zhí)行次序取決于定義派生類疇所指定的各基類的次

序。

作A.W

rB.

18、虛函數(shù)和壹般函數(shù)的區(qū)別在于函數(shù)名字與函數(shù)體之間的綁定方式不宜樣,壹般函數(shù)使用

的是靜態(tài)綁定,而虛函數(shù)使用的是勃態(tài)綁定。

1A.W

CB.籍

19、在抽象類中定義的函數(shù)只能是純虛函數(shù)。

CA.W

%B.ig-

20、模板封類型參數(shù)化提供了很好的支持,類模板實(shí)例化疇,編譯器將根據(jù)給出的模板實(shí)參

生成壹種類。

B.

1.算法是壹種計(jì)算謾程,是程序設(shè)計(jì)的基礎(chǔ)和精髓。壹種有效的算法應(yīng)富具有如下特粘,

其中^誤的是(),

rA.零值I或多種輸入及壹種或多種輸出

CB.有效性

作C.輾窮性

r【).確定性

2.#include〈file.h>與#include"file.h”的區(qū)別是()。

「A.前者首先徙目前工作途徑搜尋并引用file」,而彳炎者首先優(yōu)原則庫(kù)的途徑尋找和

引用file,h

*B.前者首先攏原則庫(kù)的途徑尋找和引用file,h,而彳爰者首先憂目前工作途徑搜尋并

引用file.h

rC.兩者都是首先優(yōu)原則庫(kù)的途徑尋找和引用file.h

CD.兩者都是首先優(yōu)目前工作途徑搜尋并引用fib.h

3.^文獻(xiàn)中的ifndef/define/endif的作用是()。

rA.定義常量

CB.襟識(shí)卷特殊的^文獻(xiàn)

QC.防止^文獻(xiàn)被反復(fù)引用

rD.注釋^文獻(xiàn)

4.在壹種程序中,假如函數(shù)fA調(diào)用了函數(shù)fB,函數(shù)fB又調(diào)用了函數(shù)fA,那么()。

rA.稱卷函數(shù)的循環(huán)調(diào)用

「B.道樣調(diào)用方式是不容^的

rC.稱卷函數(shù)的直接遞歸調(diào)用

*D.稱卷函數(shù)的間接遞歸調(diào)用

5.引入內(nèi)聯(lián)函數(shù)的目的是卷了()O

A.以便變量的使用

**B.提高函數(shù)調(diào)用的效率

rC.擴(kuò)大局部變量的使用范圍

「D.節(jié)省內(nèi)存空間

6.函數(shù)的參數(shù)設(shè)置默認(rèn)值畤,封的的^法是()。

A.若^某壹參數(shù)設(shè)置了默認(rèn)值,那么在參數(shù)表中其前所有的參數(shù)都必須也設(shè)置默認(rèn)

*B.若給某壹參數(shù)設(shè)置了默認(rèn)值,那么在參數(shù)表中其彳愛(ài)所有的參數(shù)都必須也設(shè)置默認(rèn)

「C.幺合函數(shù)的參數(shù)設(shè)置默認(rèn)值可以提高程序運(yùn)行效率

「D.任何狀況下,函數(shù)調(diào)用畤均可不列出己設(shè)置默認(rèn)值的參數(shù)

7.下列16法封的的是()。

int*pl=newint[10];

int*p2=newint[10]0;

rA.pl和p2申^的空間裹面的值都是隨機(jī)值

「B.pl和p2申as的空間裹的值都已^初始化

*C.pl申^的空間裹的值是隨機(jī)值,p2申^的空間裹的值已幺筌初始化

rD.pl申^的空間裹的值已^初始化,p2申^的空間裹的值是隨機(jī)值

8.按照常理,下列概念可以理解卷封象而不是類的是()。

rA.國(guó)際著名學(xué)府

CB.國(guó)家重鉆建設(shè)大季

rC.諾貝爾獎(jiǎng)獲得者

D.杭州肺范大摯

9.在面向射象程序設(shè)計(jì)中,實(shí)現(xiàn)信息隱蔽是靠()O

1A.封象的封裝

rB.封象的繼承

rC.封象的間接訪冏

CD.卦象的分類

10.下列有關(guān)類的^法,錯(cuò)誤的是()。

CA.在類中,假如不作尤其闡明,所有的數(shù)據(jù)組員均卷私有數(shù)據(jù)組員

rB.類是壹種顧客自定義的數(shù)據(jù)類型

■C.在類中,假如不作尤其闡明,所有的組員均卷公有組員

「I).只有類中的組員函數(shù)或類的友元函數(shù)才能存取類中的私有數(shù)據(jù)

11.下面有關(guān)類與封象的暫兌法中,誤的是()。

rA.封象是類的實(shí)例

rB.類和封象的關(guān)系與數(shù)據(jù)類型和變量的關(guān)系相似

「C.壹種封象不能同步屬于多種沒(méi)有關(guān)系的獨(dú)立的類

'?D.壹種類只能有壹種封象

12.下列有關(guān)構(gòu)造函數(shù)^法,全音誤的是()。

「A.構(gòu)造函數(shù)必須與類同名

CB.構(gòu)造函數(shù)必須有返回值

rC.構(gòu)造函數(shù)可以省略不寫

「D.在構(gòu)造函數(shù)中可以封類中的組員暹行初始化

13.如下有關(guān)析構(gòu)函數(shù)的論述,皓誤的是()。

A.析構(gòu)函數(shù)名前必須冠有符號(hào)“?”

B.在壹種類只能定義壹種析構(gòu)函數(shù)

C.析構(gòu)函數(shù)不容用返回值

'?D.析構(gòu)函數(shù)和構(gòu)造函數(shù)同樣可以有形參

14.有關(guān)類的封象,^法錯(cuò)誤的是()。

A.釋放封象畤,封應(yīng)類的析構(gòu)函數(shù)被自助執(zhí)行

D.在組員函數(shù)中,只能訪冏組員函數(shù)所作用的封象的private組員

rC.射象的組員變量可以是其他類的封象

rD.同類的卦象間,可以互相賦值

15.設(shè)已^有A、B、C、D4他類的定義,程序中A、B、C、D析構(gòu)函數(shù)調(diào)用次序是()。

Cc;

intmain(){

A*pa=newA();

Bb;

staticDd;

deletepa;

}

A.ABCD

6B.ABDC

C.ACDB

D.ACBD

16.如下^法中封的的是()。

°A.構(gòu)造函數(shù)中可以調(diào)用本類的靜態(tài)組員函數(shù)

「B.構(gòu)造函數(shù)和析構(gòu)函數(shù)都可以是虛函數(shù)

C.通謾賦值號(hào)“二"用壹種封象封另壹種封象暹行賦值,就曾引起復(fù)制構(gòu)造函數(shù)的調(diào)

D.用new運(yùn)算符勤態(tài)創(chuàng)立封象畤,用于初始化該封象的壹定是輾參數(shù)的構(gòu)造函數(shù)

17.下列狀況中,不畬調(diào)用封象析構(gòu)函數(shù)的是()o

0A.將封象指針強(qiáng)行賦值卷NULL畤

「B.函數(shù)中定義的勤態(tài)封象變量常函數(shù)執(zhí)行^束畤

rC.用delete刪除封象指針畤

rD.常封象變量脫離其作用域畤

18.有關(guān)類的靜態(tài)組員,法金音誤的是()。

A.在類的靜態(tài)組員函數(shù)中,可以訪冏該類的靜態(tài)組員變量

*B.在類的非靜態(tài)組員函數(shù)中,不可以訪冏該類的靜態(tài)組員變量

「C.不需要?jiǎng)?chuàng)立類的封象,就可以訪冏類的靜態(tài)組員

「D.類的靜態(tài)組員變量由該類的所有封象共有

19.假設(shè)Complex是壹種復(fù)數(shù)類,下面()將不曾引起拷貝構(gòu)造函數(shù)的調(diào)用。

A.Complexci(5);Complexc2(cl);

B.Complexcl(5);Complexc2=cl;

C.Complexcl(5);Complexc2[2]={cl,2};

'D.Complexcl(5),c2;c2=cl;

20.有關(guān)常量組員和靜態(tài)組員,下面^法封的的是()。

「A.優(yōu)同壹種類模板得到的兩彳固模板類可以共享同壹種靜態(tài)組員

1*B.公有的靜態(tài)組員在沒(méi)有封象生成的疇候也能被直接訪冏

CC.常量組員函數(shù)只有常量封象可以調(diào)用

「D.在靜態(tài)組員函數(shù)中不能訪冏非靜態(tài)組員,但可以訪冏常量組員

21.下列有關(guān)運(yùn)算符重載的^法中,誤的是()。

A.new和delete運(yùn)算符”『以重載

B.重載運(yùn)算符不能變化其原有的操作數(shù)f?數(shù)

'C.三元運(yùn)算符不能重載

D.所有運(yùn)算符既可以作卷類的組員函數(shù)重載,又可以作卷非組員函數(shù)重載

22.若需要卷xv類重載乘法運(yùn)算符,運(yùn)算成果卷xv類型,在將其申明卷類的組員函數(shù)疇,

下列原型申明封的的是()。

A.xvoperator*(xv,xv);

B.xv*(xv);

p

C.operator*(xv):

6D.xvoperator*(xv);

23.已知體土兄式++a中的“++”是作編組員函數(shù)重載的運(yùn)算符,則與++a等效的運(yùn)算符函數(shù)

調(diào)用形式卷()o

A.a.operator++(l)

B.operator++(a)

C.operator++(a,1)

6D.a.operator++(;

24.將運(yùn)算符重載卷類組員函數(shù)畤,其參數(shù)表中沒(méi)有參數(shù),闡明該運(yùn)算符是()。

rA.不合法的運(yùn)算符

%B.壹元運(yùn)算符

rC.輾操作數(shù)的運(yùn)算符

CD.二元運(yùn)算符

25.將運(yùn)算符“+”重載卷非組員函數(shù),下列原型申明中,金昔誤的是()。

A.MyClockopera:or+(MyClock,long);

p

B.MyClockopera:or+(MyClock,MyCIock);

C.MyCIockopera:or+(long,long);

D.MyCIockopera:or+(long,MyCIock);

26.下列封派生類的描述中,籍誤的是().

CA.壹種派生類可作篇另壹種派生類的基類

*B.派生類中繼承的基類組員的訪冏權(quán)限到派生類保持不變

「C.派生類至少有壹種基類

「D.派生類組員除了它自己的組員外,遐包括它的基類組員

27.常派生類優(yōu)基類公有繼承畤,如下^法籍誤的是()。

rA.可以把指向派生類封象的指針賦給基類封象的指針

*B.可以用基類封象四派生類封象賦值

「C.可以把派生類封象的地址賦名臺(tái)基類封象的指針

「D.可以用派生類封象懸基類封象賦值

28.由于如下()原因,在編程實(shí)踐中很少使用私有繼承。

*A.通謾私有繼承之彳笈,基類的組員再也輾法在彳爰來(lái)的派生類中直接發(fā)揮作用

rB.私有繼承不能很好的保護(hù)基類組員的安全性

「C.私有繼承封基類的編寫措施有更卷嚴(yán)格的規(guī)定

「D.私有繼承的性能低于公有繼承

29.如下法封的的是()。

rA.通謾指針訪冏封象的虛函數(shù)畤,所執(zhí)行的函數(shù)體由指針的類型決定

1*B.在基類的函數(shù)組員中,可以運(yùn)用多態(tài)機(jī)制訪冏派生類的組員函數(shù)

C.派生類的婁j象中不包括基類的private組員

CD.類B是類A的派生類,若函數(shù)f是A的友元,則f也是B的友元

30.類的組員函數(shù)中,下列函數(shù)中不能卷虛函數(shù)的是()。

A.構(gòu)造函數(shù)

B.析構(gòu)函數(shù)

C.運(yùn)算符重載函數(shù)

D.const函數(shù)

31.Cl是壹種抽象類,下列^句中籍誤的是()。

A.Cl*pC;

6D.voidfun(Clarg);

r*

C.voidfun(Cl*arg);

D.voidfun(Cl&arg);

32.下列有關(guān)^法中,封的的是()。

A.類的虛函數(shù)中,不能訪冏this指針

.B.類的靜態(tài)組員函數(shù)中,不能訪冏this指針

rC.類的友員函數(shù)中,不能訪冏this指針

rD.類的構(gòu)造函數(shù)中,不能訪冏this指針

33.有如下類定義:

classAnimal(

publie:

virtualvoidName()=0;

};

classKoala:publicAnimal{

public:

voidNcime(){/*函數(shù)體略*/}

};

有關(guān)上述類定義,下列描述中籍誤的是()。

A.類Koala是類Animal的派生類

B.類Koala中的Name函數(shù)是壹種虛函數(shù)

C.類Animal中的Name函數(shù)是壹種純虛函數(shù)

■D.^句“Animala;"可以建立類An加al的宣科封象a

34.有關(guān)基類中的虛函數(shù)與壹般組員函數(shù),封的的是()。

「A.虛函數(shù)只能定義壹種,而壹般組員函數(shù)可以多種

B.虛函數(shù)與壹般組員函數(shù)在基類中沒(méi)什么區(qū)別

rC.虛函數(shù)不能定義函數(shù)體,而壹般組員函數(shù)可以

rD.虛函數(shù)不能被調(diào)用,而壹般組員函數(shù)可以

35.基類中的虛函數(shù)假如在派生類中未重新定義,則曾出現(xiàn)()的狀況。

「A.影法使用派生類的封象調(diào)用造倜函數(shù)

「B.不容^定義派生類的封象

rC.輾法使用基類的封象調(diào)用道他函數(shù)

'?D.使用派生類的御象調(diào)用的仍然是基類的道他函數(shù)

36.有關(guān)抽象類,下列^法封的的是()。

「A.純虛函數(shù)與虛函數(shù)的申明^法相似

「B.可用new操作符來(lái)生成抽象類的封象

1*C.帶有純虛函數(shù)的類稱卷抽象類

37.下面有關(guān)封裝、繼承、多態(tài)的描述,言兌法令昔誤的是()。

A.封裝是指把客觀事物封裝成抽象的類,類的數(shù)據(jù)和函數(shù)只讓可信的類或卦象操作,

不可信的則信息隱藏

rB.繼承可以使用既有類的所有功能,井在輾需重新編寫本來(lái)的類的狀況下封道些功

能暹行擴(kuò)展

「C.隱藏是指派生類中的函數(shù)把基類中相似名字的函數(shù)屏蔽掉了

*D.覆蓋是指不壹樣的函數(shù)使用相似的函數(shù)名,不遇函數(shù)的參數(shù)他數(shù)或類型不壹樣

38.有關(guān)函數(shù)模板,下列^法封的的是()。

A.壹種函數(shù)模板可以自勤處理所有類型的數(shù)據(jù)

*B.只有可以暹行函數(shù)模板中運(yùn)算的類型,才可以作卷類型實(shí)參

rC.自定義的類,不需要重載模板中得運(yùn)算符,也可以作卷類型實(shí)參

39.下面()派生是不可行的。

A.優(yōu)類模版派生出類模版

「B.優(yōu)模版類派生出類模版

'?C.優(yōu)類模版派生出壹般類

「D.優(yōu)壹般類派生出類模版

40.下面的法中封的的是()。

*A.將壹種封象放入STL中的容器寰畤,實(shí)際上被放入的是該封象的壹種拷貝(副本)

「B.構(gòu)造函數(shù)不可以重載

rC.const組員函數(shù)內(nèi)部不能修改組員變量的值,不遇可以調(diào)用非const組員函數(shù)

「D.只有定義疇用了virtual關(guān)鍵字的組員函數(shù)才是虛函數(shù)

41.下列有關(guān)容器的end()組員函數(shù)的功能,封的的是()。

CA.判斷與否卷容器末尾

「B.返回最終壹種元素的引用

rC.返回指向最終壹種元素的迭代器

“D.返回指向最終壹種元素下壹種位置的迭代器

42.下列有關(guān)送代器,^法行的的是()。

「A.迭代器不直接操作容器中的數(shù)據(jù),而是通謾算法間接操作

「B.算法和迭代器之間不是互相獨(dú)立而是互相依賴的

"C.迭代器是算法和容器的橋梁

43.STL的算法模板binary_search可用于下列哪類容器()。

A.map

B.vector

rr.

C.set

D.list

44.如下封于map的使用中,可以封的輸出15的是()0

「A.

map<int,int>maps;

maps,insert(10,15);

cout?maps,find(10)->second?endl;

a

D.

map<int,int>maps;

maps,insert(pair<int,int>(10,15));

cout?maps,find(10)->second?endl;

rC.

map<int,int>maps;

maps,insert(pair(10,15));

cout?maps.find(10)->second?endl;

45.若要使下面程序片段可以編譯通遇,封于類A,如下()運(yùn)算符不是必須有定義

的。

classA{/*類體略*/};

Aobj;

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

copy(a,a+5,obj);

A.++obj

B.—obj

C.*obj

D.以上三彳固都可以沒(méi)定義

46.在已^包括^文獻(xiàn)的狀況下,下列文獻(xiàn)操作的程序片段在三吾法上封的的是()O

rA.

intx-0;

ifstreammyfile;

myfile.open("a");

myfile?x;

if(myfile.eof())

cout<<x<<endfile?endl;

rB.

intx=0;

ifstreammyfile('a');

myfile?x;

if(myfile.eof())

cout<<x?endoffile?endl;

rC.

intx0;

ifstreammyfile;

myfile.Open("a");

myfile?x;

if(myfile.eof())

cout?x<<endoffile"?endl;

6

D.

intx=0;

ifstream

myfile?x;

if(myfile.eof())

cout?x<<endoffile”?endl;

47.下列程序的輸出成果是()o

#include<iostream>

usingncimespacestd;

classMyClass{

public:

MyClass(inti=0){

cout<<i;

)

MyClass(constMyClass&x){

cout<<2;

)

MyClass&operator=(constMyClass&x){

cout?3;

return*this;

}

^MyClass(){

cout<<4;

}

};

intmainO{

MyClassobjl(1),obj2(2);

MyClassobj3=objl;

returnO;

}

A.11214444

B.11314444

6C.122444

I).123444

48.下列程序的輸出成果是()。

inc1ude〈iostream〉

usingnamespacestd;

classBcise{

public:

voidprint(){cout<<'B';}

classDerived:publicBase{

public:

voidprint(){cout<<'D';}

intmain(){

Derived*pd=newDerived();

Base*pb=pd;

pb->print();

pd->print();

deletepd;

return0;

A.DD

B.DB

6C.BD

D.DD

49.下列程序的輸出成果是()。

#include<iostream>

classBase

public:

virtual~Base();

Base::^Base0{

cout<<"Base

}

classDerived:publicBase{

public:

virtual'Derived。;

};

Derived::^Derived(){

cout<<"Derived”:

)

voidfun(Base*b){

deleteb;

)

intmainO{

Base*b=newDerived。;

fun(b);

return0;

}

rA..Bpase

B.Derived

?C.DerivedBase

50.下列程序的輸出成果是().

classA{

public:

voidFuncAO{

cout?”FuncAcalled\n*;

}

virtualvoidFuncB(){

cout?”FuncBcallcd\n,z;

}

};

classB:publicA{

public:

voidFuncAO{

A::FuncAO;

cout?”FuncABcalled\n/,;

}

virtualvoidFuncBO{

cout?”FuncBBcalled'n";

}

};

intmain(){

Bb;

A*pa;

pa=&b;

A*pa2=newA;

pa->FuncA();

pa->FuncB();

pa2->FuncA();

pa2->FuncB();

deletepa2;

return0;

)

「A.

FuncAcalled

FuncBcalled

FuncAcalled

FuncBcalled

GB.

FuncAcalled

FuncBBcalled

FuncAcalled

FuncBcalled

rC.

FuncAcalled

FuncBBca11e(l

FuncABcalled

FuncBBcalled

rD.

FuncABcalled

FuncBBcalled

FuncAcalled

FuncBcalled

51.下列有關(guān)構(gòu)造組合類封象畤的初始化次序法金首誤的是()。

「A.處理完初始化列表之彳爰,再執(zhí)行構(gòu)造函數(shù)的函數(shù)體

rB.組員封象構(gòu)造函數(shù)調(diào)用次序:按組員封象的申明次序,先申明者先構(gòu)造

rC.首先封構(gòu)造函數(shù)初始化列表中列出的組員誕行初始化,初始化次序是組員在類體

中定義的次序

「?D.初始化列表中未出現(xiàn)的組員封象,不暹行初始化

52.運(yùn)算符重載是封已^有的運(yùn)算符賦予多重含義,下列^法封的的是()。

rA.可以封基本類型(如int類型)的數(shù)據(jù),重新定義“+”運(yùn)算符的含義

「B.可以變化已^有運(yùn)算符的優(yōu)先級(jí)和其操作數(shù)值數(shù)

''C.只能重載C++中已^有的運(yùn)算符,不能定義新運(yùn)算符

D

溫馨提示

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