- 相關(guān)推薦
2015年計算機二級《C++》考前沖刺試題
一、選擇題
1假定int類(lèi)型變量占用兩個(gè)字節,其有定義int x[10]={0,2,4};,則數組x在內存中所占字節數是( )。
A.3B.6C.10D.20
參考答案:D
參考解析:x數組共有10個(gè)元素,在花括號內只提供3個(gè)初值,這表示只給前面的3個(gè)成員賦值,后7個(gè)元素的值為0,所以,一共有20個(gè)字節。
2有兩個(gè)關(guān)系R,S如下:
由關(guān)系R通過(guò)運算得到關(guān)系s,則所使用的運算為( )。
A.選擇B.投影C.插入D.連接
參考答案:B
參考解析:投影運算是指對于關(guān)系內的域指定可引入新的運算。本題中s是在原有關(guān)系R的內部進(jìn)行的,是由R中原有的那些域的列所組成的關(guān)系。所以選擇B。
3對于循環(huán)隊列,下列敘述中正確的是( )。
A.隊頭指針是固定不變的
B.隊頭指針一定大于隊尾指針
C.隊頭指針一定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
參考答案:D
參考解析:循環(huán)隊列的隊頭指針與隊尾指針都不是固定的,隨著(zhù)入隊與出隊操作要進(jìn)行變化。因為是循環(huán)利用的隊列結構所以隊頭指針有時(shí)可能大于隊尾指針有時(shí)也可能小于隊尾指針。
4下列有關(guān)函數重載的敘述中,錯誤的是( )。
A.函數重載就是用相同的函數名定義多個(gè)函數
B.重載函數的參數列表必須不同
C.重載函數的返回值類(lèi)型必須不同
D.重載函數的參數可以帶有默認值
參考答案:C
參考解析:所謂函數重載是指同一個(gè)函數名可以對應著(zhù)多個(gè)函數的實(shí)現。每種實(shí)現對應著(zhù)一個(gè)函數體,這些函數的名字相同,但是函數參數的類(lèi)型不同,還允許參數的個(gè)數不 同,但不能只有函數的返回值類(lèi)型不同而參數的個(gè)數和類(lèi)型相同的重載。所以本題答案為c。
5有三個(gè)關(guān)系R S和T如下.
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接B.并C.交D.差
參考答案:D
參考解析:關(guān)系T中的元組是關(guān)系R中有而關(guān)系s中沒(méi)有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差的運算。
6下面關(guān)于類(lèi)和對象的描述中,錯誤的是( )。
A.類(lèi)就是C語(yǔ)言中的結構體類(lèi)型,對象就是C語(yǔ)言中的結構體變量
B.類(lèi)和對象之間的關(guān)系是抽象和具體的關(guān)系
C.對象是類(lèi)的實(shí)例,一個(gè)對象必須屬于一個(gè)已知的類(lèi)
D.類(lèi)是具有共同行為的若干對象的統一描述體
參考答案:A
參考解析:在c++語(yǔ)言中,類(lèi)和結構體有本質(zhì)區別,類(lèi)中包含數據及操作函數,而結構體只包含有數據。
7有如下程序:
#inClude
using namespaCe std;
Class test{
private:
int a;
publiC:
test( ){Cout<<”ConstruCtor”<
test(int A.{Cout<
test(Const test&_test){ a=test.a:
Cout<<”Copy ConstruCtor”<
test( ){Cout<<”destruCtor”<
};
int main( ){ test A(3); return 0;
}
執行這個(gè)程序的輸出結果是( )。
A.3B.ConstruCtor
destruCtorC.Copy ConstruCtor
destruCtorD.3
destruCtor
參考答案:D
參考解析:本題考查默認構造函數和帶參數的構造函數以及析構函數,本題中定義了一個(gè)對象A(3),對象帶著(zhù)參數,所以執行帶參數的構造函數.輸出3,然后執行析構溺數,輸出destructor。所以本題答案為D。
8有如下函數模板:
template
T east(U u)i return u;}
其功能是將U類(lèi)型數據轉換為T(mén)類(lèi)型數據。已知i為int型變量,下列對模板函數cast的調用中正確的是( )。
A.cast(i);B.cast<>(i);C.east(i);D.east(i);
參考答案:D
參考解析:本題考查函數模板的基本運用,屬于基礎知識。函數模板實(shí)際上是建立一個(gè)通用函數,其函數類(lèi)型和形參類(lèi)型不具體指定,用一個(gè)虛擬的類(lèi)型代表,這個(gè)通用函數就是函數模板。函數模板可以設定默認參數,這樣在調用模板函數時(shí)就可以省實(shí)參,函數模板的實(shí)例就是一個(gè)函數的定義。所以本題答案為D。
9下面程序的運行結果是( )。
#include
void fun(int *a,int *B. {
int x=*a:
*a=*b;*b=X;
cout<<*a<<*b<<””:
void main() {
int X=1,Y=2; fun(&x,&y);
cout<
}
A.12 12B.12 21C.21 12D.21 21
參考答案:D
參考解析:本題考查的是指針和引用,函數fun完成把x和Y互換的操作。
10在C++語(yǔ)言中,打開(kāi)一個(gè)文件就是將這個(gè)文件與一個(gè)( )建立關(guān)聯(lián)。
A.流B.類(lèi)C.結構D.對象
參考答案:A
參考解析:c++的V0系統是通過(guò)一一種稱(chēng)為流的機制來(lái)實(shí)現文件和控制臺的I/0操作的。簡(jiǎn)單地說(shuō),在C++中,輸入/輸出操作是通過(guò)流來(lái)完成的。而文件流以磁盤(pán)文件及其他可按文件方式進(jìn)行管理的外部設備為輸入/輸出對象。每個(gè)文件流都應當與一個(gè)打開(kāi)的文件相聯(lián)系;關(guān)閉卟文件就是取消這種聯(lián)系。
11下列語(yǔ)句中,錯誤的是( )。
A.const int buffer:256;
B.const int temp;
C.const double*point;
D.const double*rt=new double(5.5);
參考答案:B
參考解析:eonst是一個(gè)C++語(yǔ)言的關(guān)鍵字,它限定一個(gè)變量不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性。限定符聲明變量只能被讀,必須初始化:,B選項中沒(méi)有初始化,C選項為指向常量的指針,定義時(shí)初始化與否均可,如果是const*double point形式,則為常指針,必須在定義時(shí)進(jìn)行初始化,A、c、D都正確。
12下列程序的輸出結果為( )。
#include
void main()
{
char*a[]={”hell0”,”the”,”world”};
char** pa = a:
pa++;
cout<<*pa<
}
A.helloB.theC.worldD.hellotheworld
參考答案:B
參考解析:本題主要考查的是指針數組和指向指針的指針之間的關(guān)系,其中a是指針數組,pa是指向指針數組行的指針,所以pa自加l相當于指向下一行。
13關(guān)于運算符重載,下列表述中正確的是( )。
A.C++已有的任何運算符都可以重載
B.運算符函數的返回類(lèi)型不能聲明為基本數據類(lèi)型
C.在類(lèi)型轉換符函數的定義中不需要聲明返回類(lèi)型
D.可以通過(guò)運算符重載來(lái)創(chuàng )建C++中原來(lái)沒(méi)有的運算符
參考答案:C
參考解析:重載運算符的規則如下:①c++不允許用戶(hù)自已定義新的運算符,只能對已有的c++運算符進(jìn)行重載;②c++不能重載的運算符只有5 個(gè);③重載不能改變運算符運算對象的個(gè)數;④重載不能改變運算符的優(yōu)先級和結合性;⑤重載運算符的函數不能有默認的參數;⑥重載的運算符必須和用戶(hù)定義的自定義類(lèi)型的對象一起使用.至少應有一個(gè)是類(lèi)對象,即不允許參數全部是c++的標準類(lèi)型。故本題答案為c。
14可以用P.a的形式訪(fǎng)問(wèn)派生類(lèi)對象P的基類(lèi)成員a,其中a是( )。
A.私有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護成員
D.公有繼承的公有成員
參考答案:D
參考解析:只有公有繼承的公有成員才能被派生類(lèi)的對象直接訪(fǎng)問(wèn),其他的情況都會(huì )因為訪(fǎng)問(wèn)權限問(wèn)題產(chǎn)生錯誤。
15在下列原型所示的C++函數中,按“傳值”方式傳遞參數的是( )。
A.void fl(int X);B.void t2(int*X);C.void f3(Const int*X);D.void f4(int&x);
參考答案:A
參考解析:函數參數的3種傳遞方式:①將變量名作為形參和實(shí)參,即傳值方式;②傳遞變量指針;③引用形參。其中B、C選項都是傳遞變量指針,D選項為引用形參,所以本題答案為A。
16以下關(guān)鍵字不能用來(lái)聲明類(lèi)的訪(fǎng)問(wèn)權限的是( )。
A.publicB.staticC.protectedD.private
參考答案:B
參考解析:類(lèi)的成員訪(fǎng)問(wèn)權限有3種:public(公用)、protected(保護)、private(私有)。
17下面程序的運行結果為( )。
#include class A
{
int hum;
public:
A(int i){nuln=i;}
A(A&A.{num=a.num十+;} void print(){eout(
void main()
A a(1),b(A.; a.print();
A print();
A.11B.12C.21D.22
參考答案:C
參考解析:本題考查考生對拷貝構造函數的掌握。因為++運算是右結合的,所以在使用a對b賦值時(shí),b的nnm變?yōu)?,而a的nnm變?yōu)?(先賦值再自加)。
18下面是重載為非成員函數的運算符的函數原型,其中錯誤的是( )。
A.Fraction operator+(Fraction,Fraction);
B.Fraction operator一(Fraction);
C.Fraction&operator=(Fraction&,Fraction);
D.Fraction&operator+=(Fraction&,Fraction);
參考答案:C
參考解析:本題考查四種運算符作為非成員函數的重載的使用方法,根據重載規則,本題答案為c,c項正確原型為:Fraction operator=(Fraction&)。
19下列語(yǔ)句中錯誤的是( )。
A.Const int a;
B.Const int a=10;
C.Const int * point=0;
D.Const int * point=new int(10);
參考答案:A
參考解析:const是一個(gè)c++語(yǔ)言的關(guān)鍵字,它限定一個(gè)變量不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性。限定符聲明變量照能被讀,必須初始化。A選項沒(méi)有初始化,B、C、D選項都正確。
20下列關(guān)于函數的描述中,錯誤的是( )。
A.函數可以沒(méi)有返回值
B.函數可以沒(méi)有參數
C.函數可以是一個(gè)類(lèi)的成員
D.函數不能被定義為模板
參考答案:D
參考解析:本題考查函數的基礎知識,函數可以沒(méi)有返回值,沒(méi)有參數,也可以是一個(gè)類(lèi)的成員,函數可以定義為模板,即模板函數。
21下列語(yǔ)句都是程序運行時(shí)的第1條輸出語(yǔ)句,其中一條語(yǔ)句的輸出效果與其他三條語(yǔ)句不同,該語(yǔ)句是( )。
參考解析:本題考查控制輸出格式,A、B、c選項都會(huì )輸出“12345”,只有D選項輸出“12345”,所以本題答案為D。
22有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接B.差C.交D.并
參考答案:B
參考解析:關(guān)系T中的元組是R關(guān)系中有而S關(guān)系中沒(méi)有的元組的集合,所以進(jìn)行的是差的運算。
23有如下程序:
#include
using namespace std;
class VAC{
public:
intf()const{return 3;}
int f(){retum 5;}
};
int main()
{
VAC vl;
const VAC v2;
cout<
return 0;
}
執行這個(gè)程序的輸出結果是( )。
A.53B.35C.55D.33
參考答案:A
參考解析:本題考查常對象及常成員函數及構造函數,常塒象只能凋用常成員函數,所以本題中,對象v1為普通對象,執行v1.f()后,會(huì )執行默認構造函數,輸出5,對象v2為常列象,執行v2.f()后,會(huì )執行常構造函數,輸出3。
24一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )。
A.一對一B.一對多C.多對一D.多對多
參考答案:B
參考解析:因為一間宿舍可以住多個(gè)學(xué)生即多個(gè)學(xué)生住在一個(gè)宿舍中,但一個(gè)學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對多的關(guān)系。
25下列關(guān)于二叉樹(shù)的敘述中,正確的是( )。
A.葉子結點(diǎn)總是比度為2的結點(diǎn)少一個(gè)
B.葉子結點(diǎn)總是比度為2的結點(diǎn)多一個(gè)
C.葉子結點(diǎn)數是度為2的結點(diǎn)數的兩倍
D.度為2的結點(diǎn)數是度為1的結點(diǎn)數的兩倍
參考答案:B
參考解析:根據二叉樹(shù)的基本性質(zhì)3:在任意一棵:二叉樹(shù)中,度為0的葉子結點(diǎn)總是比度為2的結點(diǎn)多一個(gè)。所以選擇B。
26有以下語(yǔ)句,則對a數組元素的引用不正確的是(0≤i≤9)( )。
int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))
參考答案:D
參考解析:選項D第一層括號中為數組a中第i項元素的值,外面再加指針運算符沒(méi)有意義。
27下列程序的運行結果為( )。
#include
void print(double A.
{
cout<<++a:
}
void print(int atint B.
{
cout<
}
void main()
{
print(1.2);
eout<<””:
print(3,4);
}
A.1.2 34B.2.2 34C.1.2 43D.2.2 43
參考答案:D
參考解析:本題考查的是對重載函數的掌握,因為++a是右結合的,所以a先自加1再輸出,即為2.2,之后調用函數print(int a,int b)輸出h和a,即43。
28存在定義int a[10],x,* pa;,若pa=&a[0],下列的( )選項和其他3個(gè)選項不是等價(jià)的。
A.x=*pa;B.x=*(a+1);C.x=*(pa+l)D.x=a[1];
參考答案:A
參考解析:本題考查的是數組和指向數組的指針之問(wèn)的關(guān)系,選項A中x是被數組a的第一個(gè)元素賦值,其余的都是被數組a的第二個(gè)元素賦值。
29下列敘述中正確的是( )。
A.循環(huán)隊列有隊頭和隊尾兩個(gè)指針,因此,循環(huán)隊列是非線(xiàn)性結構
B.在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動(dòng)態(tài)變化情況
C.在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動(dòng)態(tài)變化情況
D.循環(huán)隊列中元素的個(gè)數是由隊頭指針和隊尾指針共同決定
參考答案:D
參考解析:循環(huán)隊列有隊頭和隊尾兩個(gè)指針,但是循環(huán)隊列仍是線(xiàn)性結構的,所以A錯誤;在循環(huán)隊列中需要隊頭指針與隊尾指針來(lái)共同反映隊列中元素的動(dòng)態(tài)變化情況,所以B與C錯誤。
30通?截悩嬙旌瘮档膮凳( )。
A.某個(gè)對象名
B.某個(gè)對象的成員名
C.某個(gè)對象的引用名
D.某個(gè)對象的指針名
參考答案:C
參考解析:復制初始化構造函數的作用是用一個(gè)已知的對象來(lái)初始化一個(gè)被創(chuàng )建的同類(lèi)的對象,該函數只有一個(gè)參數,并且是對同類(lèi)的某個(gè)對象的引用。
31如果在表達式++x/y中,“++”是作為友元函數重載的,“/”是作為成員函數重載的,則該表達式還可為( )。
A.(operator++(x)).operator/(Y)
B.(operator++(0)).operator/(Y)
C.operator/((operator++(x,0)),Y)
D.operator/((operator++(0)),Y)
參考答案:A
參考解析: c++中用成員函數重載++X為:x.oper-ator++(),用友元函數重載++x為:0perator++(x),用成員函數重載x/y為:x.operator/(Y),用友元函數重載x/y為:operator/(X,Y)。
32一個(gè)函數功能不太復雜但要求被頻繁調用,應選用( )。
A.內聯(lián)函數B.重載函數C.遞歸函數D.嵌套函數
參考答案:A
參考解析:本題考查的是內聯(lián)函數的使用,它的引入是為了,解決程序中函數調用的效率問(wèn)題,在編譯時(shí),編譯器將程序中出現的內聯(lián)函數的調用表達式用內聯(lián)函數的函數體來(lái)替換。
33數據庫應用系統中的核心問(wèn)題是( )。
A.數據庫設計B.數據庫系統設計C.數據庫維護D.數據庫管理員培訓
參考答案:A
參考解析:數據庫應用系統中的核心問(wèn)題是數據庫的設計。
34有如下程序: Class Base{ publiC:
int data; };
Class Derivedl:publiC Base{};
Class Derived2:proteCted Base{};
int main( ) {
Derivedl dl; Derived2 d2; dl.data=0;//①
d2.data=0;//② retum 0;
}
下列關(guān)于程序編譯結果的描述中,正確的是( )。
A.①②皆無(wú)編譯錯誤
B.①有編譯錯誤,②無(wú)編譯錯誤
C.①無(wú)編譯錯誤,②有編譯錯誤
D.①②皆有編譯錯誤
參考答案:C
參考解析:本題考查公用繼承和保護繼承對基類(lèi)成員的訪(fǎng)問(wèn)屬性。在公用繼承中,基類(lèi)的公用成員和保護成員在 派生類(lèi)中保持原有訪(fǎng)問(wèn)屬性,其私有成員仍為基類(lèi)私有、稿.受保護繼承中,基類(lèi)的公用成員和保護成員在派生類(lèi)中成了保護成員,其私有成員仍為基類(lèi)私有。本題中Derived1公用繼承Base.所以①編譯正確,Derived2保護繼承Base,所以②編譯不 正確。
35下列關(guān)于基類(lèi)和派生類(lèi)關(guān)系的敘述中,正確的是( )。
A.每個(gè)類(lèi)最多只能有一個(gè)直接基類(lèi)
B.派生類(lèi)中的成員可以訪(fǎng)問(wèn)基類(lèi)中的任何成員
C.基類(lèi)的構造函數必須在派生類(lèi)的構造函數體中調用
D.派生類(lèi)除了繼承基類(lèi)的成員,還可以定義新的成員
參考答案:D
參考解析:本題考查派生類(lèi)與基類(lèi)的關(guān)系,派生類(lèi)可以有多個(gè)直接基類(lèi),而派生類(lèi)有三種繼承方式,在私有繼承中,派生類(lèi)的成員并不能訪(fǎng)問(wèn)基類(lèi)的成員。如果基類(lèi)中定義了缺省構造函數或根本沒(méi)有定義任何一一個(gè)構造函數時(shí),在派生類(lèi)構造函數的定義中可以省對基類(lèi)構造函數的調用。所以本題答案為D。
36結構化程序所要求的基本結構不包括( )。
A.順序結構B.GOT0跳轉C.選擇(分支)結構D.重復(循環(huán))結構
參考答案:B
參考解析:1966年Boehm和Jacopini證明了程序沒(méi)計語(yǔ)言?xún)H僅使用順序、選擇和重復三種基本控制結構就足以表達出各種其他形式結構的程序設計方法。
37將E—R圖轉換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為( )。
A.屬性B.鍵C.關(guān)系D.域
參考答案:C
參考解析:從E—R圖到關(guān)系模式的轉換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E—R圖中屬性也可以轉換成關(guān)系的屬性。
38下面是一個(gè)模板聲明的開(kāi)始部分:
templatedouble…由此可知( )。
A.這可能是一個(gè)函數模板的聲明
B.這可能是一個(gè)類(lèi)模板的聲明
C.這既可能是一個(gè)函數模板的聲明,也可能是一個(gè)類(lèi)模板的聲明
D.這肯定是一個(gè)錯誤的模板聲明
參考答案:A
參考解析:本題考查函數模板和類(lèi)模板的基礎知識,從templatedouble這里就可以看出這是·個(gè)函數模板的聲明。
39有如下程序:
#include
using namespace std;
class AA{
int k;
protected:
int n;
void setK(int k){this一>k=k;}
public:
void setN(int n){this一>n=n;}
};
class BB:public AA{/*類(lèi)體略*" >
;
int main()
}
BB X;
A n=1;//1
B setN(2);//2
C k=3;//3
D setK(4);//4
return 0;
}
在標注號碼的四條語(yǔ)句中正確的是( )。
A.1B.2C.3D.4
參考答案:B
參考解析:本題考查公用繼承對基類(lèi)成員的訪(fǎng)問(wèn)屬性。在公用繼承中,基類(lèi)的公用成員和保護成員在派生類(lèi)中保持原有訪(fǎng)問(wèn)屬性,其私有成員仍為基類(lèi)私有。所以本題中n、k和setK變?yōu)榱伺缮?lèi)的保護成員,不能直接使用,即1、3、4錯誤,所以B選項正確。
40有如下頭文件:
int fl();
static int f2();
class MA{
public:
int f3();
static int f4();
};
在所描述的函數中,具有隱含的this指針的是( )。
A.flB.f2C.f3D.f4
參考答案:C
參考解析:只有類(lèi)的非靜態(tài)成員函數才隱含this指針。其作用域是類(lèi)內部,當類(lèi)的非靜態(tài)成員函數中訪(fǎng)問(wèn)類(lèi)的非靜態(tài)成員時(shí),編譯器會(huì )自動(dòng)將對象本身的地址作為一個(gè)隱含參數傳遞給函數,而不必一定寫(xiě)上this。所以本題答案為C。
二、基本操作題
41請使用VC6或使用【答題】菜單打開(kāi)考生文件夾projl下的工程projl,該工程中包含程序文件main.epp,其中有類(lèi) Door(“門(mén)”)和主函數main的定義。程序中位于每個(gè)“//ERROR****found ****”之后的一行語(yǔ)句有錯誤,請加以改正。改正后程序的輸出結果應為:
打開(kāi)503號門(mén)…門(mén)是鎖著(zhù)的,打不開(kāi)。
打開(kāi)503號門(mén)的鎖…鎖開(kāi)了。
打開(kāi)503號門(mén)…門(mén)打開(kāi)了。
打開(kāi)503號門(mén)…門(mén)是開(kāi)著(zhù)的,無(wú)須再開(kāi)門(mén)。
鎖上503號門(mén)…先關(guān)門(mén)...門(mén)鎖上了。
注意:只修改每個(gè)“//ERROR***********found **********”下的那一行,不要改動(dòng)程序中的其他內容。
#include
using namespace std;
class Door{
int Bum;//門(mén)號
bool closed;//true表示門(mén)關(guān)著(zhù)
bool locked://true表示門(mén)鎖著(zhù)
public:
Door(int nHm){
//ERROR***********found***********
nun=this一>ann:
closed=locked=true:
}
bool isClosed()const{rehlrn closed;}
//門(mén)關(guān)著(zhù)時(shí)返回true,否則返回false
bool isOpened()const{return!closed;}
//門(mén)開(kāi)著(zhù)時(shí)返回true,否則返回false
b001 isLocked()const{retum locked;}
//門(mén)鎖著(zhù)時(shí)返回true,否則返回false
bool isUnlocked()const{return!locked;}
//門(mén)未鎖時(shí)返回true,否則返回false
void open(){ //開(kāi)門(mén)
cout<
//ERROR***********found***********
if(closed)
cout<<”門(mén)是開(kāi)著(zhù)的,無(wú)須再開(kāi)門(mén)。”;
else if(10cked)
cout<<”門(mén)是鎖著(zhù)的,打不開(kāi)。”;
else{
closed=false;
eout<<”門(mén)打開(kāi)了。”;
}
}
void close(){//關(guān)門(mén)
cout<
if(closed)
cout<<”門(mén)是關(guān)著(zhù)的,無(wú)須再關(guān)門(mén)。”;
else{
closed=true;
cout<<”門(mén)關(guān)上了.";
}
}
//ERROR************found************
void lock()const{//鎖門(mén)
cout<
if(locked)
cout<<”門(mén)是鎖著(zhù)的,無(wú)須再鎖門(mén)。”;
else{
if(!closed){
cout<<”先關(guān)門(mén)...”;
closed=true;
}
locked=true:
cout<<”門(mén)鎖上了。”;
}
}
wild unlock(){//開(kāi)鎖
cout<
if(!locked)
cout<<”門(mén)沒(méi)有上鎖,無(wú)須再開(kāi)鎖。”;
else{
locked=false;
cout<<”鎖開(kāi)了。”;
}
};
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
floor.10ck();
return 0;
}
參考解析:
(1)this—>num=num;
(2)if(!closed)
(3)void lock(){
三、簡(jiǎn)單應用題
42請使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj2下的工程proj2,該工程中包含一個(gè)程序文件 main.cpp,其中有類(lèi)CPolygon(“多邊形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定義。請在橫線(xiàn)處填寫(xiě)適當的代碼并刪除橫線(xiàn),以實(shí)現上述類(lèi)定義。該程序的正確輸出結果應為: 注意:只能在橫線(xiàn)處填寫(xiě)適當的代碼,不要改動(dòng)程序中的其他內容,也不要刪除或移動(dòng)“//****found****”。 #include
{tout<<——<
int area(void){return(width *height);}
class CTriangle:public CPolygon{
int length;//三角形一邊長(cháng) int height;//該邊上的高
public:
CTriangle(int l,int h):length(1),height(h){}
//*********found*********
int area(void){return(——)/2;}
};
int main(){
CRectangle rect(4,5); CTriangle trgl(4,5);
//*********found********* ______ *ppolyl,* ppoly2; ppolyl=▭
ppoly2=&trgl;
ppolyl->printarea(); ppoly2->printarea(); retun 0;
參考解析:
(1)virtual int area(void)=0;
(2)area()
(3)length*height
(4)CPolygon
【計算機二級《C++》考前沖刺試題】相關(guān)文章:
計算機二級考試C++試題03-09
計算機二級考試C++試題及答案03-27
2016年9月計算機二級考前沖刺試題03-02
2017計算機二級C++考試試題03-05
2017計算機知識考前沖刺試題及答案03-10