第 1 頁:選擇題 |
第 5 頁:基本操作題 |
第 6 頁:簡單應用題 |
第 7 頁:綜合應用題 |
11下列情況中,不會調(diào)用拷貝構(gòu)造函數(shù)的是( )。
A.用一個對象去初始化同一類的另一個新對象時
B.將類的一個對象賦值給該類的另一個對象時
C.函數(shù)的形參是類的對象,調(diào)用函數(shù)進行形參和實參結(jié)合時
D.函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調(diào)用時
參考答案:B
參考解析:本題考查復制構(gòu)造函數(shù),在以下3種情況下使用:①程序中需要新建立一個對象,并用另一個對象對它初始化;②函數(shù)的參數(shù)為類的對象;③函數(shù)的返回值是類的對象。其中B選項是由賦值運算符重載實現(xiàn)的。
12下列敘述中正確的是( )。
A.線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的
B.線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)
C.線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)
D.線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)在存儲空間的需求上沒有可比性
參考答案:B
參考解析:線性鏈式存儲結(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結(jié)構(gòu)。
13類的析構(gòu)函數(shù)的作用是( )。
A.一般成員函數(shù)的初始化B.類的初始化C.對象的初始化D.刪除類創(chuàng)建的對象
參考答案:D
參考解析:析構(gòu)函數(shù)就是用來釋放對象的.它的調(diào)用完成之后,對象也就消失了,相應的內(nèi)存空間也被釋放了。
14下列運算符不能重載為友元函數(shù)的是( )。
A.=()( )->B. + - ++ --C.> < >= <=D.+= -= *=/=
參考答案:A
參考解析:關(guān)于運算符重載為友元函數(shù)有如下規(guī)定:①一般情況下,單目運算符最好重載為類的成員函數(shù),雙目運算符則最好重載為類的友元函數(shù);②雙目運算符“=、()、[]、->”不能重載為類的友元函數(shù)。所以本題答案為A。
15下面關(guān)于運算符重載的描述錯誤的是( )。
A.運算符重載不能改變操作數(shù)的個數(shù)、運算符的優(yōu)先級、運算符的結(jié)合性和運算符的語法結(jié)構(gòu)
B.不是所有的運算符都可以進行重載
C.運算符函數(shù)的調(diào)用必須使用關(guān)鍵字operat。
D.在C+十語言中不可通過運算符重載創(chuàng)造出新的運算符
參考答案:C
參考解析:例如“::”運算符就不能被重載;通過重載可以創(chuàng)造新的運算方式,但是不能臆造新的運算符;定義的時候必須使用關(guān)鍵字0perator,而調(diào)用時可直接使用運算符。
16當使用fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為( )。
A.ios::inB.ios::0utC.ios::in I ios::0utD.以上都不對
參考答案:D
參考解析:
使用fstream類建立文件流必須定義打開方式,否則編譯器無法判斷該文件流是讀還是寫。
17由于常對象不能被更新,因此( )。
A.通過常對象只能調(diào)用它的常成員函數(shù)
B.通過常對象只能調(diào)用靜態(tài)成員函數(shù)
C.常對象的成員都是常成員
D.通過常對象可以調(diào)用任何不改變對象值的成員函數(shù)
參考答案:A
參考解析:本題考查常對象的基本知識,常對象只能調(diào)用它的常成員函數(shù),而不能調(diào)用非const函數(shù),常對象的成員函數(shù)不一定都是常成員函數(shù),只需保證其數(shù)據(jù)成員是常數(shù)據(jù)成員即可。所以本題選A。
18支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是( )。
A.棧B.樹C.隊列D.二叉樹
參考答案:A
參考解析:棧支持子程序調(diào)用棧是一種只能在一端進行插入或刪除的線性表,在主程序凋用子函數(shù)時要首先保存主程序當前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序.最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。
19有如下類定義:
class B
{
public:void funl(){}
private:void fun2(){}
protected:void fun3(){}
};
class D:public B
j
protected:void fun4(){}
};
若obj是類D的對象,則下列語句中不違反訪問控制權(quán)限的是( )。
A.obj.fun1();B.obj.fun2();C.obj.tim3();D.ohj.fun4();
參考答案:A
參考解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有的訪問屬性,其私有成員仍為基類私有。所以在本題中,在類外引用成員函數(shù)時,派生對象只能引用基類的公用成員函數(shù)fun1,故本題答案為A。
20有如下語句序列:
Char str[10];Cin>>str;
當從鍵盤輸入“I love this game”時,str中的字符串是( )。
A.”I love this game”B.”I love thi”C.”I love”D.”I”
參考答案:D
參考解析:cin是c++預定義的標準輸入流對象,cin用來接收字符串時,遇“空格”、“TAB”、“回車”時都會結(jié)束。所以本題答案為D。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |