第 1 頁:選擇題 |
第 6 頁:基本操作題 |
第 7 頁:簡單應(yīng)用題 |
第 8 頁:綜合應(yīng)用題 |
31在公有繼承的情況下,允許派生類直接訪問的基類成員包括( )。
A.公有成員
B.公有成員和保護(hù)成員
C.公有成員、保護(hù)成員和私有成員
D.保護(hù)成員
參考答案:B
參考解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護(hù)成員在派生類中保持原有的訪問屬性,其私有成員仍為基類私有。所以本題答案為B。
32有三個關(guān)系R、S和T如下:
由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為( )。
A.笛卡爾積B.交C.并D.自然連接
參考答案:D
參考解析:
自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與s進(jìn)行的是自然連接操作。
33有如下類定義:
class MyClass
{
public:
private:
______________________________________
int data;
};
若要為MyClass類重載流輸入運算符“>>”,使得程序中可以“cin>>obj;”的形式改變MyClass類的對象0bj中數(shù)據(jù)成員data的值,則橫線處的聲明語句應(yīng)為( )。
A.friend istream& operator>>(istream&is,MyClass&A.;
B.friend istream&operator>>(istream&is,MyClass A.;
C.istream&operator>>(istream&is,MyClass&A.;
D.istream&operator>>(istream&is,MyClass A.;
參考答案:A
參考解析:本題考查重載流運算符“>>”,根據(jù)重載規(guī)則,本題答案為A。
34有如下程序:
#inClude using namespaCe std; Class Sample{
friend long fun(Sample S); publiC:
Sample(10ng A.{x=a;} private:
long X;
}; long fun(Sample S){
if(S.x<2)return l;
return S.X*fun(Sample(s.x-1)); }
int main( ) {
int sum=0;
for(int i=0;i<6;i++) {sum+=fun(Sample(i));}
Cout<
}
執(zhí)行這個程序的輸出結(jié)果是( )。
A.120B.16C.154D.34
參考答案:C
參考解析:本題考查默認(rèn)構(gòu)造函數(shù),當(dāng)i=0、1時,fun(Sample(i))為1;當(dāng)i=2時,fun(Sample(i)1為2;當(dāng)i=3時,fun(Sample(i))為6;當(dāng)i=4時,fun(Sample(i))為24;當(dāng)i=5時,fun(Sample(i))為120。所以總和為l54
35有如下程序:
#inClude using namespaCe std; Class Book{
publiC:
Book(Char*t=””){strCpy(title,t);}
private:
Char titlel40]; };
Class Novel:publiC Book{ publiC:
Novel(Char*t=””):Book(t){}
Char*Category( )Const{return”文學(xué)”;} };
int main( ){ Book * pb; pb=new Novel( );
Cout<
return 0; }
若程序運行時輸出結(jié)果是“文學(xué)”,則橫線處缺失的語句是( )。
A.Char*Category( );
B.Char*Category( )Const;
C.virtual Char*Category( )Const;
D.virtual Char*Category( )Const=0;
參考答案:D
參考解析:本題考查純虛函數(shù)和抽象類,純虛函數(shù)是在聲明虛函數(shù)時被“初始化”為0的函數(shù),包含純虛函數(shù)的類為抽象類,抽象類足不能被實例化的,但是可以定義指向抽象類數(shù)據(jù)的指針變量,當(dāng)派生類成為具體類后,就可以用這種指針指向派生類的對象,然后通過該指針調(diào)用虛函數(shù),實現(xiàn)多態(tài)性的操作。所以本題答案為D。
有如下頭變件:
int f1()
StatiCintf2( ); Class MA
publiC: intf3();
1statiC int f4();
};
在所描述的函數(shù)中,具有隱含的this指針的是( )。
A.flB.f2C.BD.f4
參考答案:C
參考解析:只有類的非靜態(tài)成員函數(shù)才隱禽this指針,其作用域是類內(nèi)部,當(dāng)類的非靜態(tài)成員函數(shù)中訪問類的非靜態(tài)成員時,編譯器會自動將對象本身的地址作為一個隱含參數(shù)傳遞給函數(shù),而不必一定寫上this。所以本題答案為c。
37下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。
A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化
B.靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用
C.靜態(tài)數(shù)據(jù)成員不能受private控制符的作用
D.靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用
參考答案:D
參考解析:靜態(tài)數(shù)據(jù)成員必須在類體外初始化,它是類的所有對象的共有成員,需要使用類名調(diào)用,靜態(tài)數(shù)據(jù)成員的初始化與權(quán)限控制無關(guān)。
38設(shè)int a=10,b=11,C=12;,表達(dá)式(a+B.
A.2B.0C.-2D.1
參考答案:B
參考解析:本題考查的是運算符的優(yōu)先級,應(yīng)該先計算a+b的值為21,然后與C比較大小的值為0,根據(jù)“&&”的運算規(guī)則,整個表達(dá)式的值為0。
39下列說法正確的是( )。
A.內(nèi)聯(lián)函數(shù)在運行時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
B.內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
C.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義
D.類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義
參考答案:B
參考解析:本題考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問題,是以目標(biāo)代碼的增加為代價換取時間的節(jié)省;一般函數(shù)在運行時被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時就被替代了,如果不加inline關(guān)鍵字,則編譯器會將在類說明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。
40下面對于友元函數(shù)描述正確的是( )。
A.友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義
B.友元函數(shù)是類的成員函數(shù)
C.友元函數(shù)破壞了類的封裝性和隱藏性
D.友元函數(shù)不能訪問類的私有成員
參考答案:C
參考解析:
友元函數(shù)的定義既可以在類內(nèi)部進(jìn)行,也可以在類外部進(jìn)行。它提高了程序的運行效率,但破壞了類的封裝性和隱藏性,使得類的非成員函數(shù)可以訪問類的私有成員。
相關(guān)推薦:
2015計算機(jī)二級《公共基礎(chǔ)知識》精選選擇題90道
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |