




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
假定AB引用是某低變量的別名,射引用的操作就是封被引用變量的操作。
6A.B
CB.金昔
假定AB懸壹種類,則執行ABx;^句畤將自勤調用該類的輾參構造函數。
6A.W
rB.?
構造函數用來初始化類的新封象,構造函數與類同名,返回類型只能卷void。
rA.W
△B.籍
用new勤態分派的內存是在堆中分派的,而不是在棧中分派的。
6A.W
B.金昔
使用關鍵字class定義的類中缺省的訪冏權限是私有(private)的。
%A.W
CB.?
在公有繼承中,基類中的公有組員和私有組員在派生類中都是可見的。
rA.W
6B.tg-
c++as言的襟識符是不辨別大小寫的。
「A.W
6B.名昔
作用域運算符(::)只能用來限定組員函數所屬的類。
rA.W
B.拿音
申明封象畤,類名前面不需要加class關鍵字。
A.B
B.金昔
C++程序壹般應常具有main函數,它是C++程序執行的人口。
6A.W
rB.?
可以在類的構造函數中封崢態數據組員迤行初始化。
rA.W
6B.£昔
C++考普言中,既容繼承,又容言午多繼承。
6A.封
「B.金昔
派生類的繼承方式有兩種:公有繼承和私有繼承。
CA.W
6B.籍
多繼承狀況下,派生類的構造函數的執行次序取決于定義派生類畤所指定的各基類的次序。
?A.W
CB.
類的私有組員只能被類中的組員函數訪冏,任何類以外的函數封它憑的訪冏都是非法的。
rA.W
%B.$昔
構造函數和析構函數都不能重載。
rA.W
B.
在基類中被申明卷虛函數的類的組員函數必須在每他I派生類中顯式申明卷虛函數,才能具有
多態的特性。
A.W
1B.
有關運算符重載,運算符函數的返回類型不能申明懸基本數據類型。
rA.封
6B.由昔
將類的壹種封象賦值,合該類的另壹種封象畤,調用拷貝構造函數。
CA.封
%B.金昔
模板可以使程序封任何數據類型迤行同樣方式的處理。
%A.W
B.籍
1.編譯源文獻彳發產生的文獻是()。
1A.目的文獻
CB.可執行文獻
rC.源文獻
「D.^文獻
2.每值1C++程序只能有壹種()。
rA.全局變量
「B.函數
rC.醺文獻
GD.主函數
3.使用內聯函數的好處是()。
A.增是函數調用次數
"B.提高代碼執行效率
rC.減少代碼量,增強代碼可鐐性
CD.隱藏內部實現
4.下列不是函數重載所規定的條件是()。
CA.函數名相似
B.函數返回值類型不壹樣
rC.參數類型不壹樣
「D.參數彳因數不壹樣
5.下列哪兩彳固函數懸重載函數()。
A.voidal(),voida2()
B.intb(intx),floatb(intx)
C.charc(doubley),charc(inty,double2)
D.boold(doubley),boold(doubley,intx=0)
6.在面封封象措施中,實垣信息隱蔽依托的是()。
QA.封象的封裝
CB.卦象的繼承
rC.封象的多態
CD.卦象的分類
7.所謂數據封裝就是將壹組數據和與追組數據有關操作組裝在壹起,形成壹種實體,適實
體也就是()。
A.類
B.封象
C.函數體
D.數據塊
8.下列有關類定義的^法中,封的的是()。
1*A.在類衷定義的函數卷內聯函數
rB.類組員的默認訪冏權限是保護的
rC.數據組員必須被申明卷私有的
rD.組員函數只能在類體外迤行定義
9.有關類和封象不封的的^法是()。
CA.類是壹種類型,它封裝了數據和操作
「B.封象是類的實例
°C.壹種類的封象只有壹種
rD.壹種封象必屬于某值I類
10.構造體中定義的組員默認的訪冏屬性卷().
A.public
B.private
C.friend
D.protected
11.類中定義的組員默認的訪冏屬性卷()。
A.public
B.private
C.friend
D.protected
12.有關構造函數的論述不封的的是()O
A.構造函數名必須和類名壹致
CB.構造函數在定義封象畤自勤執行
「C.構造函數輾任何函數類型
"D.在壹種類中構造函數有且僅有壹種
13.下列有關析構函數的描述中,誤的是()。
1A.析構函數可以重載
rB.析構函數由系統自勤調用
「C.每值1封象的析構函數只被調用壹次
C【).每低1類均有析構函數
14.壹般拷貝構造函數的參數是()。
rA.封象名
rB.封象的組員名
仆C.封象的引用名
rD.封象的指針名
15.在類外定義組員函數畤,需要在函數名前加上()。
rA.類名
CB.封象名
rC.作用域運算符
1*D.類名和作用域運算符
16.在類定義中,卷闡明組員的訪冏權限,private,protected,public可以出現次數
()O
1*A.次數沒有詳細限制
B.每種至多壹次
C.public至少壹次
CD.每種至少壹次
17.有關靜態數據組員的描述中皓誤的是()。
「A.類的靜態數據組員是該類所有封象所共享的
*D.類的靜態數據組員在在該類每他封象中都保留壹種備份
rC.類的靜態數據組員必須迤行初始化
rD.類的靜態數據組員可以不通遇封象來訪冏
18.若壹種類的數據組員用const關鍵字修飾,則該數據組員()。
「A.靜態函數中可以封該組員賦值
、B.構造函數只能通謾初始化列表封該組員初始化
rC.任何函數都不能使用該組員
rD.外部函數可以封該組員賦值
19.有兩他類X和Y,且Y有壹種構造函數Y::Y(Xx);那么如下言吾句:
Xa;
Yb(a);
不曾調用下面的哪他函數()。
rA.Y的構造函數Y(Xx)
6B.Y的拷貝(復制)構造函數
rC.X的默認構造函數
「D.X的拷貝(復制)構造函數
20.已知類A的定義。假設xA的射象,則在類外方冏x封象中數據組員a和b分別
應采用()。
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.假設程序中先前已^定義了A,B,C三值1類,他#■!的構造函數分別畬愉出A
constructed^Bconstructed和Cconstructed,那么又定義了類D,并在main函數中
定義了壹種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類定義在同壹種文獻中,則
)。
A.CA必須定義在CB之前
B.CB必須定義在CA之刖
C.若CA定義在CB之彳爰,則CA的申明必須出目前CB的定義之前
D.若CB定義在CA之彳缸則CB的申明必須出目前CA的定義之前
23.在設計麥種類的畤候,假如但愿容^宣種不屬于該類的函數訪冏該類的私有組員,應常
使用哪他關鍵字()O
A.public
B.private
6C.friend
C
D.protected
24.有關友元函數的描述中,籍誤的是()。
6A.友元函數是組員函數
rB.友元函數能訪冏類中私有組員
rC.友元函數破壤封裝性
CD.友元函數申明在類體內
25.假加類A是類B的友元,則().
rA.類A的組員是類B的組員
「B.類B的組員是類A的組員
°C.類A的組員函數可以訪冏類B的私有組員
D.類B是類A的友元
26.已知類A是類B的友元類,類B是類C的友元類,則()。
rA.類A壹定是類C的友元
「B.類C壹定是類A的友元
rC.類C的組員函數可以訪冏類B的射象的任何組員
QD.類A的組員函數可以訪冏類D的封象的任何組員
27.已知Point類具有趣參(默認)構造函數和有參構造函數,使用Pointa[3]={Point(1,
2),Point(3,4),Point()};疇,調用了()次Point類的輾參(默認)構造函數。
*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.有關this指針的Bft法不封的的是()。
A.不能在程序中修改this指針
「B.this指針可以給其他指針賦值,但不能修改this指針
rC.靜態組員函數中沒有this指針
QD.this指針可以被賦值
30.有關C++的勤態存儲分派,下列^法封的的是()。
A.new和delete是C++^言中專門用于勃態內存分派和釋放的函數
B.勤態分派的內存空間也可以被初始化
C.常系統內存不夠疇,曾自勤回收不再使用的內存單元,因此程序中不必用delete
釋放內存空間
rD.富勒態分派內存失敗畤,系統畬立即瓦解,因此壹定要慎用new
31.觀測程序
#include<iostream>
usingnamespacestd
intmain()
int*first,*second;
first=newint[5];
second=first;
delete[]second;
delete[]first;
return0;
該程序與否封的,原因是什么?
rA.封的,由于first和second都是獨立的指針變量
「B.不封的,由于first和second是有關而非獨立的指針變量
C.封的,secondf■拷貝first的內容
作【).不封的,second和first指向相似的內容
32.C++中,不能被派生類繼承的有()。
CA.析構函數
B.虛函數
rC.靜態組員函數
【).友元函數
33.下列有關派生類的論述中,金昔誤的是()O
A.派生類至少要有壹種基類
「B.派生類中包括了優基類繼承的組員
「C.壹種派生類可以作卷另壹種派生類的基類
*D.基類組員被派生類繼承彳為來訪冏權限保持不變
34.下列有關類型轉換封的的是().
CA.基類的封象可以被常作公有派生類封象使用
「B.派生類封象必須顯式的轉換卷基類封象
*C.派生類卦象可以初始化基類的引用
「I).基類的指針可以隱含轉換卷派生類的指針
35.下列有關虛基類的描述中,誤的是()。
CA.使用虛基類可以消除由多繼承產生的二義性
「B.構造派生類封象畤,虛基類的構造函數只被諦.用壹次
6C.申明"classB:virtualpublicA”闡明類虛基類
「D.建立派生類封象畤,首先調用虛基類的構造函數
36.如下^法封的的是()。
*A.同壹種運算符可以被重載多次
rB.可以通遇運算符重載來創立C++中本來沒有的運算符
CC.自增運算符重載疇,重載函數不容器午有輸入參數
「D.運算符函數的返回類型不能申明懸基本數據類型
37.若A是壹種類名,則如下言吾句將曾產生的A封象值1數卷()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的友元函數都是C2的友元函數
C【).創立C2的封象畤,要執行C1的構造函數
39.若類A和類B都是類模板T的模板類,則如下言先法封的的是()。
rA.A的友元函數中,可以訪冏B的私有組員
rB.A的封象可以賦值給B類型的變量
rC.A和B共享T的靜態組員變量
'?D.A的組員函數中,不能訪冏R的私有組員
40.若類B是優類A派生而來,而^句p.Do();在被多次執行疇,有的畤候調用的是類A
的Do組員函數,有的畤候調用的是類B的Do組員函數,那么p的類型可以是()。
A.A&
B.A*
rC.B
rD.A
41.將壹種封象放入STL中的容器衷畤,(
*A.實際上被放入的是該封象的壹種拷貝(副本)
B.實際上被放入的是該封象的指針
1C.實際上被放入的是該封象的引用
rD.實際上被放入的就是該封象自身
42.如下^法封的的是()。
&A.在multiset容器中,可以同步存儲多種相似的元素
B.在set容器中,各元素的存儲位置取決于它儼的插入次序
rC.向deque容器添加新封象疇,需要比較封象的大小
rD.在list容器中.各元素的存儲位置取決于它代的值
43.若有如下定義:
set<int>::iteratoritl;it2,it3;
set<int>s;
則如下IB句不符合^法的是()。
A.itl++;
B.—it2;
6C.it3=itl+1:
D.boolisEnd=(itl==s.end());
44.有關函數封象,如下^法中封的的是()。
■A.假如壹種類重載了“()”運算符,該類的封象是函數封象
rB.假如壹種類定義了函數指針組員變量,則該類的封象是函數封象
rC.函數封象類中只能定義組員函數,不能定義組員變量
「D.函數封象類只能定義壹種函數封象
45.有如下兩倜類定義:
classAA{};
classBB{
AAvl,*v2;
BBv3;
intv4;
}
其中有壹種組員變量的定義是工昔誤的,道彳固變量是()。
A.vl
B.v2
C.v3
D.v4
46.封于如下代碼,^指出金昔誤的代碼行號是()。
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行代碼分別調用的是)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;
}
程序運行畤的輸出成果是()。
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函數中()是金昔誤的。
A.A^句
'B.B言吾句
C.■吾句
51.設置虛基類的目的是()。
rA.辨別類與否有虛函數
CB.使類成卷抽象類
rC.提高程序運行效率
QD.消除二義性
52.運行疇多態是基于()。
rA.友元函數
'B.虛函數
rC.函數重載
CD.運算符重載
53.C++泛型編程通遇()實現。
C.,
A.class
"B.template
C.virtual
C
I),typedef
54.有關函數申明floatfun(inta,intb)throw,下列論述84的的是()o
A.表明函數拋出float類型異常
「B.表明函數拋出任何類型異常
'?C.表明函數不拋出任何類型異常
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)程序壹和程序二性能上沒有區別
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都指向勤態內存,需要手勤釋放
CB.不封的,應常先釋放first指向的內存空間
C.封的,second曾拷貝first的內容
作D.不封的,second和first指向相似的勤態內存,反復釋放曾也考午導致未定義
行懸
58.C++中既可以用于文獻輸入又可以用于文獻輸出的流類是()。
A.fstream
B.ifstream
C
C.ofstream
rDn.l.ost+ream
59.下列是有關函數模板的程序,則下列者功法中封的的有()。
^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)顯式實例化voidf(constint&)
(d)f(i)隱式實例化函數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++源文獻編輯,到生成執行文獻,C++編譯器必須執行的環節依次卷編譯、徒接。
%A.W
CB.籍
C++是強類型^言。
6A.W
rB.籍
3、假如a卷int型變量,b懸int型變量,則a/static_cast<double>(b)的值懸int型。
A.W
6B.$昔
4、數組可以通遇值參數和引用參數兩種方式傳遞給函數。
CA.W
%B.籍
5、常登種函數在運行謾程中產生壹種異常,則造f固函數畬終止,不謾整他程序不壹定終止
運行。
A.B
B.金昔
6、構造函數和析構函數都不能重載。
A.W
6B.籍
7、構造函數可以申明懸虛函數。
rA.W
%B.it
8、已知類X成功地重載了一、=、+和口適幾種運算符,其中肯定屬于組員函數的運算符是:
和口。
△A.W
rB.
9、在申明壹種封象畤假如使用同壹類類型的另壹種封象來初始化,造畤調用的是該類的拷
貝構造函數。
6A.封
CB.籍
10、C++^言中,既容前修繼承,又容器午多繼承。
%A.W
rB.?
11、派生類的繼承方式有兩種:公有繼承和私有繼承。
rA"
6B.$昔
12、派生類是優基類派生出來的,它不能再生成新的派生類。
「A.W
作B.籍
13、構造函數可以被繼承,析構函數不能被繼承。
A.W
"B.ig-
14、在公有繼承中,基類中的公有組員和私有組員在派生類中都是可冕的。
「A.W
6B.
15、在公有繼承中,基類中只有公有組員封派生類封象是可見的。
°AT寸
CB.籍
16、某類的友元類中的所有組員函數可以存取或修改該類的私有組員。
B.
17、多繼承狀況下,派生類的構造函數的執行次序取決于定義派生類疇所指定的各基類的次
序。
作A.W
rB.
18、虛函數和壹般函數的區別在于函數名字與函數體之間的綁定方式不宜樣,壹般函數使用
的是靜態綁定,而虛函數使用的是勃態綁定。
1A.W
CB.籍
19、在抽象類中定義的函數只能是純虛函數。
CA.W
%B.ig-
20、模板封類型參數化提供了很好的支持,類模板實例化疇,編譯器將根據給出的模板實參
生成壹種類。
B.
1.算法是壹種計算謾程,是程序設計的基礎和精髓。壹種有效的算法應富具有如下特粘,
其中^誤的是(),
rA.零值I或多種輸入及壹種或多種輸出
CB.有效性
作C.輾窮性
r【).確定性
2.#include〈file.h>與#include"file.h”的區別是()。
「A.前者首先徙目前工作途徑搜尋并引用file」,而彳炎者首先優原則庫的途徑尋找和
引用file,h
*B.前者首先攏原則庫的途徑尋找和引用file,h,而彳爰者首先憂目前工作途徑搜尋并
引用file.h
rC.兩者都是首先優原則庫的途徑尋找和引用file.h
CD.兩者都是首先優目前工作途徑搜尋并引用fib.h
3.^文獻中的ifndef/define/endif的作用是()。
rA.定義常量
CB.襟識卷特殊的^文獻
QC.防止^文獻被反復引用
rD.注釋^文獻
4.在壹種程序中,假如函數fA調用了函數fB,函數fB又調用了函數fA,那么()。
rA.稱卷函數的循環調用
「B.道樣調用方式是不容^的
rC.稱卷函數的直接遞歸調用
*D.稱卷函數的間接遞歸調用
5.引入內聯函數的目的是卷了()O
A.以便變量的使用
**B.提高函數調用的效率
rC.擴大局部變量的使用范圍
「D.節省內存空間
6.函數的參數設置默認值畤,封的的^法是()。
A.若^某壹參數設置了默認值,那么在參數表中其前所有的參數都必須也設置默認
值
*B.若給某壹參數設置了默認值,那么在參數表中其彳愛所有的參數都必須也設置默認
值
「C.幺合函數的參數設置默認值可以提高程序運行效率
「D.任何狀況下,函數調用畤均可不列出己設置默認值的參數
7.下列16法封的的是()。
int*pl=newint[10];
int*p2=newint[10]0;
rA.pl和p2申^的空間裹面的值都是隨機值
「B.pl和p2申as的空間裹的值都已^初始化
*C.pl申^的空間裹的值是隨機值,p2申^的空間裹的值已幺筌初始化
rD.pl申^的空間裹的值已^初始化,p2申^的空間裹的值是隨機值
8.按照常理,下列概念可以理解卷封象而不是類的是()。
rA.國際著名學府
CB.國家重鉆建設大季
rC.諾貝爾獎獲得者
D.杭州肺范大摯
9.在面向射象程序設計中,實現信息隱蔽是靠()O
1A.封象的封裝
rB.封象的繼承
rC.封象的間接訪冏
CD.卦象的分類
10.下列有關類的^法,錯誤的是()。
CA.在類中,假如不作尤其闡明,所有的數據組員均卷私有數據組員
rB.類是壹種顧客自定義的數據類型
■C.在類中,假如不作尤其闡明,所有的組員均卷公有組員
「I).只有類中的組員函數或類的友元函數才能存取類中的私有數據
11.下面有關類與封象的暫兌法中,誤的是()。
rA.封象是類的實例
rB.類和封象的關系與數據類型和變量的關系相似
「C.壹種封象不能同步屬于多種沒有關系的獨立的類
'?D.壹種類只能有壹種封象
12.下列有關構造函數^法,全音誤的是()。
「A.構造函數必須與類同名
CB.構造函數必須有返回值
rC.構造函數可以省略不寫
「D.在構造函數中可以封類中的組員暹行初始化
13.如下有關析構函數的論述,皓誤的是()。
A.析構函數名前必須冠有符號“?”
B.在壹種類只能定義壹種析構函數
C.析構函數不容用返回值
'?D.析構函數和構造函數同樣可以有形參
14.有關類的封象,^法錯誤的是()。
A.釋放封象畤,封應類的析構函數被自助執行
D.在組員函數中,只能訪冏組員函數所作用的封象的private組員
rC.射象的組員變量可以是其他類的封象
rD.同類的卦象間,可以互相賦值
15.設已^有A、B、C、D4他類的定義,程序中A、B、C、D析構函數調用次序是()。
Cc;
intmain(){
A*pa=newA();
Bb;
staticDd;
deletepa;
}
A.ABCD
6B.ABDC
C.ACDB
D.ACBD
16.如下^法中封的的是()。
°A.構造函數中可以調用本類的靜態組員函數
「B.構造函數和析構函數都可以是虛函數
C.通謾賦值號“二"用壹種封象封另壹種封象暹行賦值,就曾引起復制構造函數的調
用
D.用new運算符勤態創立封象畤,用于初始化該封象的壹定是輾參數的構造函數
17.下列狀況中,不畬調用封象析構函數的是()o
0A.將封象指針強行賦值卷NULL畤
「B.函數中定義的勤態封象變量常函數執行^束畤
rC.用delete刪除封象指針畤
rD.常封象變量脫離其作用域畤
18.有關類的靜態組員,法金音誤的是()。
A.在類的靜態組員函數中,可以訪冏該類的靜態組員變量
*B.在類的非靜態組員函數中,不可以訪冏該類的靜態組員變量
「C.不需要創立類的封象,就可以訪冏類的靜態組員
「D.類的靜態組員變量由該類的所有封象共有
19.假設Complex是壹種復數類,下面()將不曾引起拷貝構造函數的調用。
A.Complexci(5);Complexc2(cl);
B.Complexcl(5);Complexc2=cl;
C.Complexcl(5);Complexc2[2]={cl,2};
'D.Complexcl(5),c2;c2=cl;
20.有關常量組員和靜態組員,下面^法封的的是()。
「A.優同壹種類模板得到的兩彳固模板類可以共享同壹種靜態組員
1*B.公有的靜態組員在沒有封象生成的疇候也能被直接訪冏
CC.常量組員函數只有常量封象可以調用
「D.在靜態組員函數中不能訪冏非靜態組員,但可以訪冏常量組員
21.下列有關運算符重載的^法中,誤的是()。
A.new和delete運算符”『以重載
B.重載運算符不能變化其原有的操作數f?數
'C.三元運算符不能重載
D.所有運算符既可以作卷類的組員函數重載,又可以作卷非組員函數重載
22.若需要卷xv類重載乘法運算符,運算成果卷xv類型,在將其申明卷類的組員函數疇,
下列原型申明封的的是()。
A.xvoperator*(xv,xv);
B.xv*(xv);
p
C.operator*(xv):
6D.xvoperator*(xv);
23.已知體土兄式++a中的“++”是作編組員函數重載的運算符,則與++a等效的運算符函數
調用形式卷()o
A.a.operator++(l)
B.operator++(a)
C.operator++(a,1)
6D.a.operator++(;
24.將運算符重載卷類組員函數畤,其參數表中沒有參數,闡明該運算符是()。
rA.不合法的運算符
%B.壹元運算符
rC.輾操作數的運算符
CD.二元運算符
25.將運算符“+”重載卷非組員函數,下列原型申明中,金昔誤的是()。
A.MyClockopera:or+(MyClock,long);
p
B.MyClockopera:or+(MyClock,MyCIock);
C.MyCIockopera:or+(long,long);
D.MyCIockopera:or+(long,MyCIock);
26.下列封派生類的描述中,籍誤的是().
CA.壹種派生類可作篇另壹種派生類的基類
*B.派生類中繼承的基類組員的訪冏權限到派生類保持不變
「C.派生類至少有壹種基類
「D.派生類組員除了它自己的組員外,遐包括它的基類組員
27.常派生類優基類公有繼承畤,如下^法籍誤的是()。
rA.可以把指向派生類封象的指針賦給基類封象的指針
*B.可以用基類封象四派生類封象賦值
「C.可以把派生類封象的地址賦名臺基類封象的指針
「D.可以用派生類封象懸基類封象賦值
28.由于如下()原因,在編程實踐中很少使用私有繼承。
*A.通謾私有繼承之彳笈,基類的組員再也輾法在彳爰來的派生類中直接發揮作用
rB.私有繼承不能很好的保護基類組員的安全性
「C.私有繼承封基類的編寫措施有更卷嚴格的規定
「D.私有繼承的性能低于公有繼承
29.如下法封的的是()。
rA.通謾指針訪冏封象的虛函數畤,所執行的函數體由指針的類型決定
1*B.在基類的函數組員中,可以運用多態機制訪冏派生類的組員函數
C.派生類的婁j象中不包括基類的private組員
CD.類B是類A的派生類,若函數f是A的友元,則f也是B的友元
30.類的組員函數中,下列函數中不能卷虛函數的是()。
A.構造函數
B.析構函數
C.運算符重載函數
D.const函數
31.Cl是壹種抽象類,下列^句中籍誤的是()。
A.Cl*pC;
6D.voidfun(Clarg);
r*
C.voidfun(Cl*arg);
D.voidfun(Cl&arg);
32.下列有關^法中,封的的是()。
A.類的虛函數中,不能訪冏this指針
.B.類的靜態組員函數中,不能訪冏this指針
rC.類的友員函數中,不能訪冏this指針
rD.類的構造函數中,不能訪冏this指針
33.有如下類定義:
classAnimal(
publie:
virtualvoidName()=0;
};
classKoala:publicAnimal{
public:
voidNcime(){/*函數體略*/}
};
有關上述類定義,下列描述中籍誤的是()。
A.類Koala是類Animal的派生類
B.類Koala中的Name函數是壹種虛函數
C.類Animal中的Name函數是壹種純虛函數
■D.^句“Animala;"可以建立類An加al的宣科封象a
34.有關基類中的虛函數與壹般組員函數,封的的是()。
「A.虛函數只能定義壹種,而壹般組員函數可以多種
B.虛函數與壹般組員函數在基類中沒什么區別
rC.虛函數不能定義函數體,而壹般組員函數可以
rD.虛函數不能被調用,而壹般組員函數可以
35.基類中的虛函數假如在派生類中未重新定義,則曾出現()的狀況。
「A.影法使用派生類的封象調用造倜函數
「B.不容^定義派生類的封象
rC.輾法使用基類的封象調用道他函數
'?D.使用派生類的御象調用的仍然是基類的道他函數
36.有關抽象類,下列^法封的的是()。
「A.純虛函數與虛函數的申明^法相似
「B.可用new操作符來生成抽象類的封象
1*C.帶有純虛函數的類稱卷抽象類
37.下面有關封裝、繼承、多態的描述,言兌法令昔誤的是()。
A.封裝是指把客觀事物封裝成抽象的類,類的數據和函數只讓可信的類或卦象操作,
不可信的則信息隱藏
rB.繼承可以使用既有類的所有功能,井在輾需重新編寫本來的類的狀況下封道些功
能暹行擴展
「C.隱藏是指派生類中的函數把基類中相似名字的函數屏蔽掉了
*D.覆蓋是指不壹樣的函數使用相似的函數名,不遇函數的參數他數或類型不壹樣
38.有關函數模板,下列^法封的的是()。
A.壹種函數模板可以自勤處理所有類型的數據
*B.只有可以暹行函數模板中運算的類型,才可以作卷類型實參
rC.自定義的類,不需要重載模板中得運算符,也可以作卷類型實參
39.下面()派生是不可行的。
A.優類模版派生出類模版
「B.優模版類派生出類模版
'?C.優類模版派生出壹般類
「D.優壹般類派生出類模版
40.下面的法中封的的是()。
*A.將壹種封象放入STL中的容器寰畤,實際上被放入的是該封象的壹種拷貝(副本)
「B.構造函數不可以重載
rC.const組員函數內部不能修改組員變量的值,不遇可以調用非const組員函數
「D.只有定義疇用了virtual關鍵字的組員函數才是虛函數
41.下列有關容器的end()組員函數的功能,封的的是()。
CA.判斷與否卷容器末尾
「B.返回最終壹種元素的引用
rC.返回指向最終壹種元素的迭代器
“D.返回指向最終壹種元素下壹種位置的迭代器
42.下列有關送代器,^法行的的是()。
「A.迭代器不直接操作容器中的數據,而是通謾算法間接操作
「B.算法和迭代器之間不是互相獨立而是互相依賴的
"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,如下()運算符不是必須有定義
的。
classA{/*類體略*/};
Aobj;
inta[]={1,2,3,4,5);
copy(a,a+5,obj);
A.++obj
B.—obj
C.*obj
D.以上三彳固都可以沒定義
46.在已^包括^文獻的狀況下,下列文獻操作的程序片段在三吾法上封的的是()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.下列有關構造組合類封象畤的初始化次序法金首誤的是()。
「A.處理完初始化列表之彳爰,再執行構造函數的函數體
rB.組員封象構造函數調用次序:按組員封象的申明次序,先申明者先構造
rC.首先封構造函數初始化列表中列出的組員誕行初始化,初始化次序是組員在類體
中定義的次序
「?D.初始化列表中未出現的組員封象,不暹行初始化
52.運算符重載是封已^有的運算符賦予多重含義,下列^法封的的是()。
rA.可以封基本類型(如int類型)的數據,重新定義“+”運算符的含義
「B.可以變化已^有運算符的優先級和其操作數值數
''C.只能重載C++中已^有的運算符,不能定義新運算符
D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冰雪大世界工資協議書
- 農村裝電梯分攤協議書
- 公司跟媒體簽約協議書
- 2025年MS Office重點考點試題及答案
- 全方位解析22025年計算機二級試題及答案
- 國考法律試題及答案
- 固廢法律法規試題及答案
- C++語言和軟件工程結合試題及答案
- 法律綜合性試題及答案
- 法律專業的面試題及答案
- 醫院檢驗科實驗室生物安全程序文件SOP
- 氫能無人機項目可研報告范文參考
- 300B電子管技術參數
- 國家開放大學《理工英語3》章節測試參考答案
- 國家標準照度參考表
- 簧片落料彎曲級進模設計畢業設計(論文)
- 管道單線圖符號說明
- 工業硅技術安全操作規程
- 消防工程項目樣板區、樣板間方案
- 小學美術三年級下冊第5課我們班級的標志PPT課件
- 兒童社會工作案例及分析PPT學習教案
評論
0/150
提交評論