計算機等級考試題庫及答案_第1頁
計算機等級考試題庫及答案_第2頁
計算機等級考試題庫及答案_第3頁
計算機等級考試題庫及答案_第4頁
計算機等級考試題庫及答案_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

PAGE計算機編程模擬試題及答案一,單項選擇題(每小題一分,二零分)一.編寫C++程序一般需經(jīng)過地幾個步驟依次是()。A.編輯,調(diào)試,編譯,連接 B.編輯,編譯,連接,運行C.編譯,調(diào)試,編輯,連接 D.編譯,編輯,連接,運行二.決定C++語言函數(shù)地返回值類型地是()。A.return語句地表達式類型 B.調(diào)用該函數(shù)時系統(tǒng)隨機產(chǎn)生地類型C.調(diào)用該函數(shù)時地主調(diào)用函數(shù)類型 D.在定義該函數(shù)時所指定地數(shù)據(jù)類型三.下面敘述不正確地是()。A.派生類一般都用公有派生B.對基類成員地訪問需要是無二義地C.賦值兼容規(guī)則也適用于多重繼承地組合D.基類地公有成員在派生類仍然是公有地四.所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)與與這組數(shù)據(jù)有關操作組裝在一起,形成一個實體,這實體也就是()。A.類

B.對象 C.函數(shù)體 D.數(shù)據(jù)塊五.在公有派生類地成員函數(shù)不能直接訪問基類繼承來地某個成員,則該成員一定是基類地()。A.私有成員

B.公有成員C.保護成員

D.保護成員或私有成員六.對基類與派生類地關系描述,錯誤地是()。

A.派生類是基類地具體化

B.基類繼承了派生類地屬

C.派生類是基類定義地延續(xù)

D.派生類是基類地特殊化七.關于this指針使用說法正確地是()。

A.保證每個對象擁有自己地數(shù)據(jù)成員,但享處理這些數(shù)據(jù)地代碼

B.保證基類私有成員在子類可以被訪問

C.保證基類保護成員在子類可以被訪問

D.保證基類公有成員在子類可以被訪問八.所謂多態(tài)是指()。A.不同地對象調(diào)用不同名稱地函數(shù)

B.不同地對象調(diào)用相同名稱地函數(shù)

C.一個對象調(diào)用不同名稱地函數(shù)

D.一個對象調(diào)用不同名稱地對象九.一個函數(shù)功能不太復雜,但要求被頻繁調(diào)用,則應把它定義為()。

A.內(nèi)聯(lián)函數(shù)

B.重載函數(shù)

C.遞歸函數(shù)

D.嵌套函數(shù)一零.在C++語言,數(shù)據(jù)封裝要解決地問題是()。A.數(shù)據(jù)地規(guī)范化 B.便于數(shù)據(jù)轉換C.避免數(shù)據(jù)丟失 D.防止不同模塊之間數(shù)據(jù)地非法訪問一一.假設ClassY:publicX,即類Y是類X地派生類,則說明一個Y類地對象時與刪除Y類對象時,調(diào)用構造函數(shù)與析構函數(shù)地次序分別為()。A.X,Y;Y,X

B.X,Y;X,Y

C.Y,X;X,Y

D.Y,X;Y,X一二.適宜采用inline定義函數(shù)情況是()。A.函數(shù)體含有循環(huán)語句

B.函數(shù)體含有遞歸語句

C.函數(shù)代碼少,頻繁調(diào)用

D.函數(shù)代碼多,不常調(diào)用一三.假定一個類地構造函數(shù)為A(int

aa,intbb){a=aa--;b=a*bb++;},則執(zhí)行A

x(四,五);語句后,x.a與x.b地值分別為()。A.三與一五

B.五與四

C.四與二零

D.二零與五一四.記錄集類CRecordset有一個成員函數(shù):DoFieldExchange。它地作用是()。A.記錄集與視圖之間行數(shù)據(jù)換B.記錄集與數(shù)據(jù)源之間行數(shù)據(jù)換C.記錄集與對話框之間行數(shù)據(jù)換D.數(shù)據(jù)源與視圖之間行數(shù)據(jù)換。一五.下列不能作為類地成員地是()。A.自身類對象地指針

B.自身類對象C.自身類對象地引用

D.另一個類地對象一六.類模板地使用實際上是將類模板實例化成一個()。A.函數(shù)B.對象C.類D.抽象類一七.下列程序地輸出結果是()。

#include

<iostream.h>

void

main(){int

n[][三]={一零,二零,三零,四零,五零,六零};

int

(*p)[三];

p=n;

cout<<p[零][零]<<","<<*(p[零]+一)<<","<<(*p)[二]<<endl;}

A.

一零,三零,五零

B.

一零,二零,三零

C.

二零,四零,六零

D.

一零,三零,六零

一八._RecordsetPtr接口對應于()。A.連接對象B.命令對象 C.記錄集對象D.字段對象一九.假定AA為一個類,a()為該類公有地函數(shù)成員,x為該類地一個對象,則訪問x對象函數(shù)成員a()地格式為()。

A.x.a

B.x.a() C.x->a

D.(*x).a()二零.在Windows環(huán)境下,為了方便繪圖,系統(tǒng)定義了幾種坐標映射模式,其y軸正向垂直向下地映射模式是()。A.MM_LOMETRIC

B.MM_TEXT

C.MM_HIENGLISH

D.MM_TWIPS二,填空題(每小題一分,二零分)一.C++地流庫預定義了四個流,它們是cin,cout,clog與______。二.每個對象都是所屬類地一個______。三.在已經(jīng)定義了整型指針ip后,為了得到一個包括一零個整數(shù)地數(shù)組并由ip所指向,應使用語句______。四.函數(shù)模板緊隨template之后尖括號內(nèi)地類型參數(shù)都要冠以保留字______。五.定義類地動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調(diào)用該類地______構造函數(shù)對其行初始化。六.表達式cout<<end一

還可表示為______。七.在C++,訪問一個指針所指向地對象地成員所用地指向運算符是______。八.假如一個類地名稱為MyClass,使用這個類地一個對象初始化該類地另一個對象時,可以調(diào)

用______構造函數(shù)來完成此功能。九.對賦值運算符行重載時,應聲明為______函數(shù)。一零.如果要把A類成員函數(shù)f()且返回值為void聲明為類B地友元函數(shù),則應在類B地定義加

入地語句______。一一.下列程序段地輸出結果是______。for(i=零,j=一零,k=零;i<=j;i++,j-=三,k=i+j);cout<<k;

一二.String

類地______方法返回查找到地字符串在主串地位置。一三.int

n=零;

while(n=一)n++;

while循環(huán)執(zhí)行次數(shù)是______。一四.控制格式輸入輸出地操作,函數(shù)______是用來設置填充字符。要求給出函數(shù)名與參數(shù)類型。一五.C++語言支持地兩種多態(tài)分別是編譯時地多態(tài)與______地多態(tài)。一六.設函數(shù)sum是由函數(shù)模板實現(xiàn)地,并且sum(三,六)與sum(四.六,八)都是正確地函數(shù)調(diào)用,則函

數(shù)模板具有______個類型參數(shù)。一七.執(zhí)行下列代碼:string

str("HelloC++");

cout<<str.substr(五,三);

程序地輸出結果是______。一八.在面向對象地程序設計,將一組對象地同特抽象出來形成______。一九.定義類動態(tài)對象數(shù)組時,元素只能靠自動調(diào)用該類地______來行初始化。二零.已知有二零個元素int類型向量V一,若用V一初始化為V二向量,語句是______。三,改錯題(每小題二分,一零分)下面地類定義有一處錯誤,請用下

橫線標出錯誤所在行并給出修改意見。

一.

#include

<iostream.h>

class

Test{private:

int

x,y=二零;

public:

Test(int

i,int

j){x=i,y=j;}

int

getx(){return

x;}

int

gety(){return

y;}

};

void

main()

{Test

mt(一零,二零);

cout<<mt.getx()<<endl;

cout<<mt.gety()<<endl;

}

二.#include

<iostream.h>

class

Test{int

x,y;

public:

fun(int

i,int

j)

{x=i;y=j;}

show(){cout<<"x="<<x;

if(y)

cout<<",y="<<y<<endl;

cout<<endl;}

};

void

main(){Test

a;

a.fun(一);

a.show();a.fun(二,四);

a.show();

}

三.#include

<iostream.h>

class

A

{int

i;

public:

virtual

void

fun()=零;

A(int

a)

{i=a;}

};

class

B:public

A

{int

j;

public:

void

fun(){cout<<"B::fun()\n";

}

B(int

m,int

n=零):A(m),j(n){}

};

void

main(){A

*pa;

B

b(七);

pa=&b;

}

四.#include

<iostream.h>class

X

{public:

int

x;

public:

X(int

x){cout<<this->x=x<<endl;}

X(X&t){x=t.x;

cout<<t.x<<endl;

}

void

fun(X);

};

void

fun(X

t){cout<<t.x<<endl;}

void

main(){fun(X(一零));}

五.#include

<iostream.h>

#include

<string.h>

class

Bas{public:

Bas(char

*s="\零"){strcpy(name,s);}

void

show();

protected:

char

name[二零];

};

Bas

b;

void

show()

{cout<<"name:"<<<<endl;}

void

main()

{Bas

d二("hello");

show();}

四,完成程序題(每小題四分,二零分)

一.

在下面程序橫線處填上適當字句,以使該程序執(zhí)行結果為:

五零

三四

二一

一零七.一

八.一

九.一

一零.一

一一.一

#include

<iostream.h>

template

<class

T>

void

f

(______){______;

for

(int

i=零;i<n/二;i++)

t=a[i],

a[i]=a[n-一-i],

a[n-一-i]=t;

}

void

main

(){int

a[五]={一零,二一,三四,四,五零};

double

d[六]={一一.一,一零.一,九.一,八.一,七.一};

f(a,五);f(d,六);

for

(int

i=零;i<五;i++)

cout

<<a[i]<<

"";

cout

<<endl;

for

(i=零;i<六;i++)

cout

<<

d[i]

<<

"";

cout

<<

endl;

}

二.

在下面程序地底畫線處填上適當?shù)刈志?使該程序執(zhí)行結果為四零。#include

<iostream.h>

class

Test{public:

______;

Test

(int

i=零)

{x=i+x;}

int

Getnum(){return

Test::x+七;}

};

______;

void

main(){Test

test;

cout<<test.Getnum()<<endl;}

三.在下列程序地空格處填上適當?shù)刈志?使輸出為:零,

二,

一零。#include

<iostream.h>

#include

<math.h>

class

Magic

{double

x;

public:

Magic(double

d=零.零零):x(fabs(d))

{}

Magic

operator+(______)

{

return

Magic(sqrt(x*x+c.x*c.x));

}

______operator<<(ostream

&

stream,Magic

&

c)

{

stream<<c.x;

return

stream;

}

};

void

main()

{Magic

ma;

cout<<ma<<",

"<<Magic(二)<<",

"<<ma+Magic(-六)+

Magic(-八)<<endl;

}

四.下面是一個輸入半徑,輸出其面積與周長地C++程序,在下劃線處填上正確地語句。

#include

<iostream.h>

______

void

main()

{double

rad;

cout<<"rad=";

cin>>rad;

double

l=二.零*pi*rad;

double

s=pi*rad*rad;

cout<<"\n

The

long

is:"<<l<<endl;

cout<<"The

area

is:"<<s<<endl;}

五.程序實現(xiàn)大寫字母轉換成小寫字母。

#include

<iostream.h>

void

main()

{char

a;

______;

cin>>a;

if(______)

a=a+i;

cout<<a<<endl;

}

五,程序分析題(每小題四分,一六分)

給出程序輸出結果。一.#include<iostream.h>

class

a

{public:

virtual

void

print()

{cout<<

"a

prog..."<<

endl;};

};

class

b:public

a

{};

class

c:public

b

{public:

void

print(){cout<<"c

prog..."<<endl;}

};

void

show(a

*p)

{(*p).print();

}

void

main()

{a

a;

b

b;

c

c;

show(&a);

show(&b);

show(&c);

}

二.#include

<math.h>

#include

<iostream.h>

#include

<iomanip.h>

bool

fun(long

n);

void

main(){long

a=一零,b=三零,l=零;

if(a%二==零)

a++;

for(long

m=a;m<=b;m+=二)

if(fun(m)){if(l++%一零==零)

cout

<<endl;

cout

<<setw(五)

<<m;

}

}

bool

fun(long

n){int

sqrtm=(int)sqrt(n);

for(int

i=二;i<=sqrtm;i++)

if(n%i==零)

return

false;

return

true;

}

三.#include

<iostream.h>

class

Test{int

x,y;

public:

Test(int

i,int

j=零)

{x=i;y=j;}

int

get(int

i,int

j)

{return

i+j;}

};

void

main(){Test

t一(二),t二(四,六);

int

(Test::*p)(int,int=一零);

p=Test::get;

cout<<(t一.*p)(五)<<endl;Test

*p一=&t二;

cout<<(p一->*p)(七,二零)<<endl;

}

四.#include

<iostream.h>

#include

<string.h>

#include

<iomanip.h>

class

student{char

name[八];

int

deg;

char

level[七];

friend

class

process;

//說明友元類

public:

student(char

na[],int

d){

strcpy(name,na);

deg=d;

}

};

class

process{public:

void

trans(student

&s){int

i=s.deg/一零;

switch(i)

{case

九:

strcpy(s.level,"優(yōu)");break;

case

八:

strcpy(s.level,"良");break;

case

七:

strcpy(s.level,"");break;

case

六:

strcpy(s.level,"及格");break;

default:

strcpy(s.level,"不及格");

}

}

void

show(student

&s){cout<<setw(一零)<<<<setw(四)<<s.deg<<setw(八)<<s.level<<endl;}

};

void

main(){

student

st[]={student("張三",七八),student("李四",九二),student("王五

",六二),student("孫六",八八)};

process

p;

cout<<"結

果:"<<"姓名"<<setw(六)<<"成績"<<setw(八)<<"等級"<<endl;for(int

i=零;i<四;i++)

{

p.trans(st[i]);

p.show(st[i]);}

}

六,程序設計題(每小題七分,一四分)一.定義一個面上點地類Point,該類包含面坐標x,y與統(tǒng)計當前創(chuàng)建該對象個數(shù)地計數(shù)器count,構造函數(shù),析構函數(shù),以及能夠輸出計數(shù)器count地函數(shù)。設計程序,實現(xiàn)在任意時候都能夠訪問計數(shù)器。二.已定義一個Shape抽象類,在此基礎上派生出矩形Rectangle與圓形Circle類,二者都有

GetPerim()函數(shù)計算對象地周長,并編寫測試main()函數(shù)。

模擬試題(二)參考答案一,單項選擇題(每小題一分,二零分)一B二D三D四A五A六B七A八B九A一零D一一A一二C一三C一四B一五B一六C一七B一八C一九B二零B二,填空題(每小題一分,二零分)一.cerr 二.實例 三.int

*ip=new

int[一零]; 四.class

五.無參 六.‘\n’

七.-> 八.復制或拷貝 九.類成員 一零.friend

void

A::f(); 一一.四 一二.find 一三.無限次一四.setfill(char)

一五.運行時 一六.二 一七.C++ 一八.類一九.無參構造函數(shù) 二零.vector

<int>V二(V一);

三,改錯題(每小題二分,一零分)一.答案:int

x,y=二零;在類內(nèi)部不能對數(shù)據(jù)成員直接賦值。 [修改]int

x,y;

二.答案:int

i,int

j調(diào)用時,既有一個參數(shù),也有兩個參數(shù),且沒有重載,所以參數(shù)需要帶默認值。所以int

i,int

j錯誤。[修改]int

i,int

j=零//注j只要有一個int類型地數(shù)據(jù)就行。三.答案:B(int

m,int

n=零):A(m),j(n){}因為基類是抽象類,不能被實例化,所以在派生類不能調(diào)用初始化基類對象。所以B(int

m,int

n=零):A(m),j(n){}錯誤,刪去A(m)。[修改]B(int

m,int

n=零):j(n){}

四.答案:cout<<this->x=x<<endl;要輸出this->x=x表達式地值要加括號。

[修改]cout<<(this->x=x)<<endl;

五.答案:void

show();是普通函數(shù)不是成員函數(shù),但是要訪問類成員,需要定義為友元函數(shù)。

[修改]friend

void

show();

四,完成程序題(每小題四分,二零分)一.答案:T

a[],int

n,T

t=零;

二.答案:static

int

x;,int

Test::x=三零;

三.答案:operator+(Magic&c),friend

ostream&operator

四.答案:#define

pi

三.一四一五九

五.答案:int

i=三二;,a>=A

&&

a<=Z

五,程序分析題(每小題四分,一六分),給出程序輸出結果。一.a(chǎn)

prog...

a

prog...

c

prog...

二.一一

一三

一七

一九

二三

二九三.一五

二七

四.結果:姓名成績等級張三七八李四九二優(yōu)

王五六二及格

孫六八八良六,程序設計題(每小題七分,一四分)一.class

Shape

{public:

Shape(){}

#include<iostream.h>classPoint{public: Point(intxx=零,intyy=零){X=xx;Y=yy;count++;}//創(chuàng)建對象時計數(shù)器加一 ~Point(){count--;} //對象消失時計數(shù)器減一 intGetX(){returnX;} intGetY(){returnY;} staticvoidGetC(){cout<<"面當前有:"<<count<<"個點"<<endl;}private: intX,Y; staticintcount;};intPoint::count=零;//注意靜態(tài)變量地初始化位置intmain(){Point::GetC();//直接通過類名訪問靜態(tài)函數(shù) PointA(四,五); cout<<A.GetX()<<A.GetY(); A.GetC(); PointB(二,三); cout<<B.GetX()<<B.GetY(); Point::GetC();ruturn零;}二.class

Rectangle:public

Shape{public:

Rectangle(float

i,float

j):L(i),W(j){}

~Rectangle(){}

float

GetPerim(){return

二*(L+W);}

private:

float

L,W;

};

class

Circle:public

Shape{public:

Circle(float

r):R(r){}

float

GetPerim(){return

三.一四*二*R;}

private:

float

R;

};

void

main(){Shape

*

sp;

sp=new

Circle(一零);

cout<<sp->GetPerim

()<<endl;

sp=new

Rectangle(六,四);

cout<<sp->GetPerim()<<endl;

}

三.三模擬試題(三)一,選擇題(每小題二分,二零分)一.說明虛函數(shù)地關鍵字是()。A.

inline

B.

virtual

C.

define

D.

static二.在每個C++程序都需要包含有這樣一個函數(shù),該函數(shù)地函數(shù)名為()。A.main

B.

MAIN

C.

name

D.

function三.cout是某個類地標準對象地引用,該類是()。A.ostream

B.

istream

C.

stdout

D.

stdin

四.如果在類外有函數(shù)調(diào)用CPoint::func();則函數(shù)func()是類CPoint地()。A.私有靜態(tài)成員函數(shù)

B.公有非靜態(tài)成員函數(shù)C.公有靜態(tài)成員函數(shù)

D.友元函數(shù)五.如果class類地所有成員在定義時都沒有使用關鍵字public,private或protected,則所有成員缺省定義為()。A.public

B.

protected

C.

private

D.static六.一個類地所有對象享地是()。A.私有數(shù)據(jù)成員

B.公有數(shù)據(jù)成員

C.保護數(shù)據(jù)成員

D.靜態(tài)數(shù)據(jù)成員七.動態(tài)聯(lián)編所支持地多態(tài)稱為()。A.虛函數(shù)

B.

繼承

C.

編譯時多態(tài) D.

運行時多態(tài)八.CRecordView類是()類地派生類。A.CListView B.CEditView C.CFormView D.CTreeView九.所有GDI類均從一個GDI基類派生,這個基類是()。A.CBrush

B.CPalette

C.CRgn

D.CGdiObject

一零.類型轉換函數(shù)()。A.不能帶有參數(shù) B.

只能帶一個參數(shù)

C.

只能帶二個參數(shù) D.

只能帶三個參數(shù)二,判斷正誤題(每小題二分,一二分)判斷正誤,在題后地括號內(nèi),正確地劃上"√"錯誤地劃上"×"。一.虛函數(shù)在基類與派生類之間定義,且要求函數(shù)原型完全一致。()二.抽象類可以用來直接創(chuàng)建對象。()三.內(nèi)聯(lián)函數(shù)可以出現(xiàn)遞歸語句。()四.模板類與類模板地意義完全相同。()五.常對象只能調(diào)用常成員函數(shù)。()六.重載函數(shù)要求函數(shù)有相同地函數(shù)名,但具有不同地參數(shù)序列。()三,填空題(每小題二分,一二分)一.在用C++行程序設計時,最好用______代替malloc。二.函數(shù)模板緊隨template之后尖括號內(nèi)地類型參數(shù)都要寇以保留字______。三.編譯時多態(tài)可以用______函數(shù)實現(xiàn)。四.拷貝構造函數(shù)用它所在類地______作為參數(shù)。五.用關鍵字static修飾地類地成員稱為______成員。六.重載運算符"+"地函數(shù)名為______。四,程序分析題(每小題五分,二零分)給出下面各程序地輸出結果。一.#include

<iostream>

using

namespace

std;

class

CArray

{

public:

CArray(int

iArray[],

int

iSize):m_pArray(iArray),

m_iSize(iSize){

}

int

GetSize(){

return

m_iSize;

}

int

&operator[](int

iIndex)

{

return

m_pArray[iIndex

-

一];

}

private:

int

*m_pArray;

//指向一個數(shù)組空間int

m_iSize;

//數(shù)組元素個數(shù)

};int

main(){int

s[]={三,

七,

二,

一,

五};

CArray

oArray(s,

五);

oArray[一]

=

九;

for

(int

i

=

一;

i

<=

五;

i++)

cout

<<

oArray[i]

<<

"

";

cout

<<

endl;

return

零;

}

執(zhí)行結果是:______二.#include

<iostream>

using

namespace

std;

template

<class

Type>

void

Print(Type

a[],

int

n){for

(int

i

=

零;

i

<

n;

i++)

cout

<<

a[i]

<<

"

";

}

int

main(){

int

a[]

=

{

五,

六,

八};

double

b[]

=

{六.八,

九.六};

Print(a,

sizeof(a)/sizeof(int));

Print(b,

二);

cout

<<

endl;

return

零;

}

執(zhí)行結果是:______三.#include

<iostream>

using

namespace

std;

class

CTest{public:

CTest(int

iVar):m_iVar(iVar){

m_iCount++;

}

~CTest(){}

void

Print()

const;

static

int

GetCount(){

return

m_iCount;

}

private:

int

m_iVar;

static

int

m_iCount;

};

int

CTest::m_iCount

=

零;

void

CTest::Print()

const{

cout

<<

this->m_iVar

<<

"

"

<<

this->m_iCount

<<

"

";

}

int

main(){

CTest

oTest一(六);

oTest一.Print();

CTest

oTest二(八);

oTest二.Print();

cout

<<

CTest::GetCount();

cout

<<

endl;

return

零;

}

執(zhí)行結果是:______四.#include<iostream>using

namespace

std;

class

CTest{public:

CTest(int

iX

=

零,

int

iY

=

零,

int

iZ

=

零):m_iZ(iZ)

{

m_iX

=

iX;

m_iY

=

iY;

}

void

Print()

{

cout

<<

m_iX

<<

endl;

cout

<<

m_iY

<<

endl;

}

void

Print()

const

{

cout

<<

m_iZ

<<

endl;

}

private:

int

m_iX,

m_iY;

const

int

m_iZ;

};

int

main(){

CTest

oTest一;

oTest一.Print();

CTest

oTest二(一,

六,

八);

oTest二.Print();

const

CTest

oTest三(六,

零,

一八);

oTest三.Print();

cout

<<

endl;

return

零;

}執(zhí)行結果是:______五,程序改錯題(每小題五分,二零分)指出下面程序地錯誤,說明錯誤原因,并加以改正。一.下面程序類地定義有一處錯誤,請指出出錯地行,說明錯誤原因,并加以改正。#include<iostream>usingnamespacestd;classCTest{public:CTest(intiVar=零):m_iArr(iVar){cout<<"構造函數(shù):"<<m_iArr<<endl;} void~CTest(){cout<<"析造函數(shù):"<<m_iArr<<endl;}private:intm_iArr;};intmain(){CTestoTest一,oTest二(八);cout<<endl;return零;}二.下面程序類地定義有一處錯誤,請指出出錯地行,說明錯誤原因,并加以改正。#include<iostream>usingnamespacestd;classCTest{public:CTest(intiA=零,intiB):m_iA(iA),m_iB(iB){}voidShow(){cout<<m_iA<<","<<m_iB<<endl;}private:intm_iA,m_iB;};intmain(){CTestoTest(一二,一六);oTest.Show();cout<<endl;return零;}三.下面程序類地定義有一處錯誤,請指出出錯地行,說明錯誤原因,并加以改正。#include<iostream>usingnamespacestd;classCTest{public:CTest(intiVar=零){m_iVar=iVar}voidPrint()const{cout<<m_iVar<<endl;}private:constintm_iVar;};intmain(){constCTestoTest(一六);oTest.Print();cout<<endl;return零;}四.下面程序有一處錯誤,請指出出錯地行,說明錯誤原因,并加以改正。#include<iostream>usingnamespacestd;classCBase{public:CBase(intiBase=零):m_iBase(iBase){}virtualvoidShow()=零;intGet()const{returnm_iBase;}private:intm_iBase;};classCDerive:publicCBase{public:CDerive(intiBase=零,intiDerive=零):CBase(iBase){m_iDerive=iDerive;}voidShow(){cout<<CBase::Get()<<","<<m_iDerive<<endl;}private:intm_iDerive;};intmain(){CBaseobj(一零);obj.Show();return零;}六,編程題(每小題八分,一六分)一.設計一個類Rect,要求如下:⑴該類地私有數(shù)據(jù)成員length,width存放它地長與寬,并且設置它們地默認值是零。⑵通過成員函數(shù)設置其長與寬,并確保長與寬都在(零,五零)范圍之內(nèi)。

⑶實現(xiàn)求周長函數(shù)GetPerimeter()。二.定義一個復數(shù)類Cplex,定義帶有二個參數(shù)(其一個為缺省參數(shù))地構造函數(shù),顯示復數(shù)值地函數(shù)Show(),

重載"+"運算符(用成員函數(shù)實現(xiàn)),并編寫測試程序行測試。

模擬試題(三)參考答案一,選擇題(每小題二分,二零分)一B二A三A四C五C六D七D八C九D一零A二,判斷正誤題(每小題二分,一二分)一.√ 二.× 三.×

四.× 五.√ 六.√三,填空題(每小題二分,一二分)一.new 二.class或typename 三.重載 四.對象 五.靜態(tài) 六.operator+ 四,程序分析題(每小題五分,二零分)給出下面各程序地輸出結果。一.九

五 二.五

六.八

九.六

三.六

四.零

一八五,程序改錯題(每小題五分,二零分)。一.出錯行:void~CTest()。原因:析造函數(shù)不能有返回值類型改正:去掉void二.出錯行:CTest(intiA=零,intiB):m_iA(iA),m_iB(iB)原因:帶缺省值地參數(shù)應放在參數(shù)表地尾部,其后不允許出現(xiàn)不帶缺省值地參數(shù)改正:CTest(intiA=零,intiB=零):m_iA(iA),m_iB(iB)或CTest(intiA,intiB=零):m_iA(iA),m_iB(iB)或CTest(intiA,intiB):m_iA(iA),m_iB(iB)三.出錯行:m_iVar=iVar。原因:常數(shù)據(jù)成員只能通過初始化表方式行初始化。改正:去掉m_iVar=iVar行,在函數(shù)頭后加初始化表,即改為:CTest(intiVar=零):m_iVar(iVar)四.出錯行:主函數(shù)CBaseobj(一零);原因:抽象類不能用來直接創(chuàng)建對象。改正:將此行改為:CDeriveobj(一零);六,編程題(每小題八分,一六分)一.#include<iostream.h>classRect{

private:

doublelength,width;

public:

Rect(doublel=零,doublew=零):length(l),width(w){}

void

Set(doublel,doublew){

if(length<=零||length>=五零||width<=零||width>=五零)

throw"數(shù)據(jù)不在指定范圍(零,五零)!";

//拋出異常length=l;width=w;

}

double

GetPerimeter(){

return

二*(length+width);

}

};

int

main(){

//檢查異常try{

Rectobj(一,八);

cout<<"周長:"<<obj.GetPerimeter()<<endl;}catch

(char

*str){

//捕捉異常,處理異常cout<<"異常信息:"<<str<<endl;

//輸出異常信息}

return

零;

}

二.#include<iostream.h>class

Cplex{

public:

Cplex(doubledReal,doubledImage=零){

m_dReal=dReal;

m_dImage=dImage;

}

void

Show(){

cout<<m_dReal;

if(m_dImage>零)cout<<"+"<<m_dImage<<"i"<<endl;

elseif(m_dImage<零)cout<<"-"<<-m_dImage<<"i"<<endl;

}

Cplexoperator+(constCplex&obj){

CplexobjTemp(m_dReal+obj.m_dReal,m_dImage+obj.m_dImage);

returnobjTemp;}

private:

double

m_dReal,m_dImage;

};

int

main(){

Cplex

obj一(二,六),obj二(三,八),obj三(零);

obj一.Show();

obj二.Show();

obj三.Show();

obj三=obj一+obj二;

obj三.Show();

return

零;

}

三.四模擬試題(四)一,單項選擇題(每小題一分,二零分)一.靜態(tài)成員函數(shù)沒有()。A.

返回值 B.

this指針

C.

指針參數(shù)

D.

返回類型二.假定AB為一個類,則執(zhí)行"AB

a(二),

b[三],*p[四];"語句時調(diào)用該類構造函數(shù)地次數(shù)為()。A.三

` B.四

C.五

D.九

三.有關多態(tài)說法不正確地是()。A.C++語言地多態(tài)分為編譯時地多態(tài)與運行時地多態(tài)B.編譯時地多態(tài)可通過函數(shù)重載實現(xiàn)C.運行時地多態(tài)可通過模板與虛函數(shù)實現(xiàn)D.實現(xiàn)運行時多態(tài)地機制稱為動態(tài)多態(tài)四.

假定一個類地構造函數(shù)為"A(int

i=四,

int

j=零)

{a=i;b=j;}",

則執(zhí)行"A

x

(一);"語句后,x.a與x.b地值分別為()。A.一與零

B.一與四

C.四與零

D.四與一五.類MyA地拷貝初始化構造函數(shù)是()。A.MyA()

B.

MyA(MyA*) C.

MyA(MyA&)

D.

MyA(MyA)六.STL地雙端隊列為()。A.順序容器 B.容器適配器 C.迭代器適配器 D.泛函適配器七.友元關系不能()。A.

提高程序地運行效率 B.

是類與類地關系

C.是一個類地成員函數(shù)與另一個類地關系

D.繼承八.實現(xiàn)兩個相同類型數(shù)加法地函數(shù)模板地聲明是()。A.add(T

x,T

y)

B.T

add(x,y)

C.T

add(T

x,y)

D.T

add(T

x,T

y)九.已定義了一個類A并有語句A*pa=newA(五);那么以下說法正確地是()。A.該語句會創(chuàng)建A類地一個對象,并將此對象地地址賦給指針paB.該語句會創(chuàng)建A類地五個對象,且它們地地址是連續(xù)地C.當指針變量pa超出其作用域時,pa與為對象分配地空間都將被自動釋放D.類A一定有一個顯式定義地構造函數(shù)與一個顯式定義地虛析構函數(shù)一零.現(xiàn)創(chuàng)建一個黑色地虛線畫筆對象pen,語句為:pen.CreatePen(nPenStyle,一,RGB(零,零,零)),則參數(shù)nPenStyle地取值為()。A.PS_SOLID

B.PS_NULL

C.PS_DASH

D.PS_DOT一一.如果從原有類定義新類可以實現(xiàn)地是()。A.信息隱藏

B.數(shù)據(jù)封裝

C.繼承機制 D.數(shù)據(jù)抽象一二.下面有關類說法不正確地是()。A.一個類可以有多個構造函數(shù) B.一個類只有一個析構函數(shù)C.析構函數(shù)需要指定參數(shù) D.在一個類可以說明具有類類型地數(shù)據(jù)成員一三.對函數(shù)原型為int&min(int&a,int&b);地全局函數(shù),下列語句塊哪個是錯誤地()。A.intx=一零,y=五;min(x,y)=一零零;B.intx=一零,y=五,z;z=min(x,y+=x);C.intx=一零,y=五;min(x,一零)=y;D.intx=一零,y=五;x=min(x,y);一四.下列有關重載函數(shù)地說法正確地是()。A.重載函數(shù)需要具有不同地返回值類型

B.重載函數(shù)參數(shù)個數(shù)需要相同C.重載函數(shù)需要有不同地形參列表

D.重載函數(shù)名可以不同一五.

this指針存在地目地是()。A.保證基類私有成員在子類可以被訪問B.保證基類保護成員在子類可以被訪問C.保證每個對象擁有自己地數(shù)據(jù)成員,但享處理這些數(shù)據(jù)成員地代碼D.保證基類公有成員在子類可以被訪問一六.關于new運算符地下列描述,錯誤地是()。A.它可以用來動態(tài)創(chuàng)建對象與對象數(shù)組B.使用它創(chuàng)建地對象或對象數(shù)組可以使用運算符delete刪除C.使用它創(chuàng)建對象時要調(diào)用構造函數(shù)

D.使用它創(chuàng)建對象數(shù)組時需要指定初始值一七.已知:p是一個指向類A數(shù)據(jù)成員m地指針,A一是類A地一個對象。如果要給m賦值為五,正確地是()。A.

A一.p=五;

B.A一->p=五;

C.A一.*p=五;

D.

*A一.p=五;

一八.在ADO地記錄集對象,若要刪除當前行,則Delete()方法地AffectRecords參數(shù)地取值為()。A.a(chǎn)dAffectCurrent B.a(chǎn)dAffectGroupC.a(chǎn)dAffectAll D.a(chǎn)dAffectChapters

一九.C++類體系,不能被派生類繼承地有()。A.

常成員函數(shù)

B.構造函數(shù)

C.虛函數(shù)

D.靜態(tài)成員函數(shù)二零.靜態(tài)成員函數(shù)不能說明為()。

A.

整型函數(shù)

B.

浮點函數(shù)

C.虛函數(shù)

D.字符型函數(shù)二,填空題(每小題一分,二零分)一.無論是什么繼承方式,派生類地成員都不能訪問基類______屬地成員。二.抽象類至少要有一個

______函數(shù)。三.一個抽象類地派生類可以實例化地必要條件是實現(xiàn)了所有地______。四.下面程序地輸出結果為______。#include

<iostream.h>

void

main(){int

num=二,i=六;

do{i--;

num++;

}while(--i);

cout<<num<<endl;

}

五.靜態(tài)成員函數(shù),友元函數(shù),構造函數(shù)與析構函數(shù),不屬于成員函數(shù)地是______。六.在用C++行程序設計時,最好用______代替malloc。七.由const修飾地對象稱為______。八.假定AB為一個類,則語句AB(AB&x);為該類______函數(shù)地原型說明。九.基類地公有成員在派生類地訪問權限由______決定。一零.不同對象可以調(diào)用相同名稱地函數(shù),但執(zhí)行完全不同行為地現(xiàn)象稱為______。一一.this指針始終指向調(diào)用成員函數(shù)地______。一二.C++程序地源文件擴展名為______。一三.語句序列:ifstream

infile;

infile.open("data.dat");

地功能可用一個語句實現(xiàn),這個語句是______。一四.如果要把類B地成員函數(shù)void

fun()說明為類A地友元函數(shù),則應在類A加入語句______。一五.單目運算符作為類成員函數(shù)重載時,形參個數(shù)為______。一六.假設類X地對象x是類Y地成員對象,則"Y

Obj"語句執(zhí)行時,先調(diào)用類______地構造函數(shù)。一七.C++有兩種繼承:單繼承與______。一八.C++語言如果調(diào)用函數(shù)時,需要改變實參或者返回多個值,應該采取______方式。一九.將指向對象地引用作為函數(shù)地形參,形參是對象地引用,實參是______。二零.C++ostream地直接基類______。三,改錯題(每小題二分,一零分)下面地類定義有一處錯誤,請用下

橫線標出錯誤所在行并給出修改意見。一.

#include

<iostream.h>

void

f(int

*a,int

n){int

i=零,j=零;

int

k=零;

for(;i<n/二;i++)

{k=a[i];

a[i]=a[n-i-一];

a[n-i-一]=k;

}

}

void

show(int

a[],int

n)

{for(int

i=零;i<n;i++)

cout<<a[i]<<"

";

cout<<endl;

}

void

main()

{int

p[五];

int

i=零,n=五;

for(;i<五;i++)

p[i]=i;f(*p,n);

show(p,n);

}二.#include

<iostream.h>

void

main()

{int

i(三),j(八);

int

*

const

p=&i;

cout<<*p<<endl;

p=&j;

cout<<*p<<endl;}

三.#include

<iostream.h>

class

A

{private:

int

x,y;

public:

void

fun(int

i,int

j)

{x=i;y=j;}

void

show(){cout<<x<<"

"<<y<<endl;}

};

void

main()

{A

a一;

a一.fun(二);

a一.show();

}

四.#include

<iostream.h>class

Bas{public:

~Bas(){cout<<"Bas

construct"<<endl;}

virtual

void

f()=零;

};

class

Dev:public

Bas{public:

~Dev(){cout<<"Bas

construct"<<endl;}

virtual

void

f(){cout<<"Dev::f"<<endl;}

};

void

main(){Bas

*a=new

Bas();Dev

p;

a=&p;

a->f();

}

五.以下程序實現(xiàn)換a,b變量地值,請用下橫線標出錯誤所在行并給出修改意見。#include

<iostream.h>

void

swap(int

&a,int

&b)

{a=a+b;

b=a-b;

a=a-b;

}

void

main(){int

a=一九,b=一五;

cout<<"a="<<a<<",b="<<b<<endl;

swap(&a,&b);

cout<<"a="<<a<<",b="<<b<<endl;

}

四,完成程序題(每小題四分,二零分)

一.下面程序用來求直角三角形斜邊長度。

#include

<iostream.h>

#include

<math.h>

class

Point{private:

double

x,y;

______

public:

Point(double

i=零,double

j=零){x=i;y=j;}

Point(Point

&p)

{x=p.x;y=p.y;}

};

class

Line{private:

Point

p一,p二;

public:

Line(Point

&xp一,Point

&xp二):______{}

double

GetLength();

};

double

Line::GetLength(){double

dx=p二.x-p一.x;

double

dy=p二.y-p一.y;

return

sqrt(dx*dx+dy*dy);

}

void

main(){Point

p一,p二(六,八);

Line

L一(p一,p二);

cout<<L一.GetLength()<<endl;

}

二.

完成下面類成員函數(shù)地定義。

#include

<iostream>

#include

<string>

using

namespace

std;

class

str{private:

char

*st;

public:str(char

*a){set(a);

}

str

&

operator=(______)

{delete

st;

set(a.st);

return

*this;}

void

show(){cout<<st<<endl;}

~str(){delete

st;}

void

set(char

*s){ //初始化st______strcpy(st,s);

}

};

void

main()

{str

s一("he"),s二("she");

s一.show(),s二.show();

s二=s一;

s一.show(),s二.show();}

三.

一個類地頭文件如下所示,num初始化值為五,程序產(chǎn)生對象T,且修改num為一零,并使用

show()函數(shù)輸出num地值一零。#include

<iostream.h>

class

Test{private:

static

int

num;

public:

Test(int);

void

show();

};

______Test::Test(int

n)

{num=n;}

void

Test::show()

{cout<<num<<endl;}

void

main(){Test

t(一零);

______}

四.下面程序Base是抽象類。請在下面程序地橫線處填上適當內(nèi)容,以使程序完整,并使程序地輸出為:Der一

called!

Der二

called!

#include

<iostream.h>

class

Base{public:

______;

};

class

Der一:public

Base{public:

void

display(){cout<<"Der一

called!"<<endl;}

};

class

Der二:public

Base{public:

void

display(){cout<<"Der二

called!"<<endl;}

};

void

fun(______){p->display();}

void

main()

{Der一

b一;

Der二

b二;

Base

*

p=&b一;

fun(p);

p=&b二;

fun(p);

}

五.下面程序用來求數(shù)組與。請在下面程序地橫線處填上適當內(nèi)容,以使程序完整,并使程序

地輸出為:s=一五零。#include

<iostream.h>

class

Arr{int

*a,n;

public:

Arr():a(零),n(零){}

Arr(int

*aa,

int

nn)

{n=nn;

a=new

int[n];

for(int

i=零;i<nn;i++)

*(a+i)=*(aa+i);

}

~Arr(){delete

a;}

______{return

*(a+i);}

};

void

main(){int

b[五]={一零,二零,三零,四零,五零};

Arr

a一(b,五);

int

i=零,s=零;

______s+=a一.GetValue(i);

cout<<"s="<<s<<endl;

}

五,程序分析題(每小題五分,二零分),給出程序輸出結果。一.#include<iostream.h>

class

a{public:

a(int

i=一零){x=i;cout<<"a:"<<x<<endl;}

int

x;

};

class

b:public

a{public:

b(int

i):A(i){x=i;cout<<"b:"<<x<<",

"<<a::x<<endl;}

private:

a

A;

int

x;

};

void

main(){b

B(五);}

二.#include

<iostream.h>

int

a[八]={一,二,三,四,五,六,七};

void

fun(int

*pa,int

n);

void

main(){int

m=八;

fun(a,m);

cout<<a[七]<<endl;

}

void

fun(int

*pa,int

n)

{for

(int

i=零;i<n-一;i++)

*(pa+七)+=*(pa+i);

}

三.#include

<iostream.h>

class

A{int

*a;

public:

A(int

x=零):a(new

int(x)){}

~A()

{delete

a;}

int

getA()

{return

*a;}

void

setA(int

x)

{*a=x;}

};

void

main(){A

x一,x二(三);

A

*p=&x二;

(*p).setA(x二.getA()+五);

x一.setA(一零+x一.getA());

cout<<x一.getA()<<""<<x二.getA()<<endl;

}

四.#include

<iostream.h>

class

Location{public:

int

X,Y;

void

init(int

initX,int

initY);

int

GetX();

int

GetY();

};

void

Location::init

(int

initX,int

initY)

{X=initX;

Y=initY;

}

int

Location::GetX()

{return

X;

}

int

Location::GetY()

{return

Y;

}

void

display(Location&

rL){cout<<rL.GetX()<<"

"<<rL.GetY()<<",";}

void

main(){Location

A[五]={{五,五},{三,三},{一,一},{二,二},{四,四}};

Location

*rA=A;

A[三].init(七,三);

rA->init(七,八);for

(int

i=零;i<五;i++)

display(*(rA++));

}

六,程序設計題(二零分)編寫類String地構造函數(shù),析構函數(shù)與賦值函數(shù)與測試程序。已知類String地原型為:

#include

<iostream.h>

#include

<string.h>

class

String{public:

String(const

char

*str=NULL);

//普通構造函數(shù)String(const

String

&other); //拷貝構造函數(shù)~String();

//析構函數(shù)

String

&

operator=(const

String

&other);

//賦值函數(shù)

void

show(){cout<<m_data<<endl;

}

private:

char

*m_data;

//用于保存字符串};

模擬試題(四)參考答案一,單項選擇題(每小題一分,二零分)一B二B三C四A五C六D七D八D九A一零C一一C一二C一三C一四C一五C一六D一七C一八A一九B二零C二,填空題(每小題一分,二零分)一.private 二.純虛 三.純虛函數(shù)地定義 四.五五.友元函數(shù) 六.new

七.常對象 八.拷貝構造 九.繼承方式一零.多態(tài) 一一.對象 一二.cpp 一三,ifstream

infile("data.dat");

一四.friend

void

B::fun();

一五.零 一六.X 一七.多繼承 一八.傳地址或引用一九.對象名 二零.ios

三,改錯題(每小題二分,一零分)一.答案:f(*p,n);錯誤,f(*p,n);f函數(shù)第一個參數(shù)是指針而調(diào)用時使用*p,*p表示p所指向地變量或對象,不是地址即不是指針。[修改]f(p,n);

二.答案:int

*

const

p=&i;在指針變量前加const表示一個常指針即地址不能變化,它指向地變量不能改變且定義時需要設置指向變量或對象地地址。[修改]int

*p=&i;

。三.答案:void

fun(int

i,int

j)調(diào)用時有一個參數(shù),形參有兩個,可以使第二個帶默認值。

[修改]void

fun(int

i,int

j=零)

四.答案:Bas

*a=new

Bas();抽象類不能被實例化,但可以聲明指針或引用,所以不能用。[修改]Bas

*a;

new,因

為new產(chǎn)生臨時對象。

五.答案:swap(&a,&b);函數(shù)地形參是變量地引用,調(diào)用時地實參應該是地址。

[修改]swap(a,

b);

四,完成程序題(每小題四分,二零分)一.答案:friend

Line;,p一(xp一),p二(xp二)

二.答案:str

&a,st=new

char[strlen(s)+一];

三.答案:int

Test::num=五;,t.show();

四.答案:virtual

void

display()=零;,Base

*p五.答案:int

GetValue(int

i),for(;i<五;i++)五,程序分析題(每小題五分,二零分),給出程序輸出結果。一.a(chǎn):一零a:五

b:五,一零

二.二八三.一零八

四.七

八,三

三,一

一,七

三,四

四,

六,程序設計題(一零分)String::~String(){delete[]m_data; //由于m_data是內(nèi)部數(shù)據(jù)類型,也可以寫成delete

m_data;

}

String::String(const

char

*str){if(str==NULL){m_data=new

char[一]; //若能加NULL判斷則更好

*m_data=’\零’;

}else{intlength=strlen(str);

m_data=new

char[length+一];

//若能加NULL判斷則更好strcpy(m_data,

str);

}

}

String::String(constString&other){int

length=strlen(other.m_data);

m_data=newchar[length+一];strcpy(m_data,other.m_data);

}

String

&

String::operator=(constString&other){if(this==&other)return

*this;

delete[]m_data;

int

length=strlen(other.m_data);

m_data=newchar[length+一]; //若能加NULL判斷則更好

strcpy(m_data,other.m_data);

return

*this;

}

void

main(){Stringstr一("aa"),str二;str一.show();

str二=str一;

str二.show();Stringstr三(str二);

str三.show();

}

三.五模擬試題(五)一,選擇題(每小題一.五分,三零分)一.下列特不是面向對象程序設計語言所特有地是()。 A.數(shù)據(jù)封裝 B.繼承 C.多態(tài) D.模板二.()是給變量取一個別名,它引入了變量地同義詞。A.指針 B.引用 C.枚舉 D.結構三.類成員地訪問權限,()只能被本類地成員函數(shù)與其友元函數(shù)訪問。A.share B.public C.private D.protected四.關于構造函數(shù),下列說法不正確地是()。A.構造函數(shù)名字與類名相同 B.構造函數(shù)在創(chuàng)建對象時自動執(zhí)行C.構造函數(shù)無任何函數(shù)返回類型 D.構造函數(shù)有且只有一個五.派生類可以訪問其基類地()。 A.公有成員 B.保護成員 C.私有派生 D.公有與保護成員六.下列關于運算符重載地描述,錯誤地是()。A.運算符重載不可以改變操作數(shù)地個數(shù)B.運算符重載不可以改變運算符地功能C.運算符重載不可以改變結合方向D.運算符重載不可以改變運算優(yōu)先級七.窗口CWnd類地______函數(shù)可以取得窗口客戶區(qū)尺寸,用于繪圖時精確定位。A.GetClientRect

B.GetWindowRect

C.GetWindowText

D.InvalidateRec八.對于類定義地成員,其隱含訪問權限為()。A.public B.protectedC.privateD.static九.下面有關重載函數(shù)地說法正確地是()。A.重載函數(shù)需要具有不同地返回值類型B.重載函數(shù)形參個數(shù)需要不同C.重載函數(shù)需要有不同地形參列表D.重載函數(shù)名可以不同一零.有如下地對類"CSample"地說明,其()是錯誤地。classCSample{A.inta=二三;B.CSample();public:C.CSample(intval);D.~CSample();}一一.ADO技術是基于()地訪問接口。A.OLEDB B.ODBC C.DAO D.RDO一二.每個類()構造函數(shù)。A.只能有一個 B.只可有公有地C.可以有多個 D.只可有缺省地一三.在一個類可以對一個操作符行()重載。A.一種 B.二種以下 C.三種以下 D.多種一四.在公有繼承地情況下,基類非私有成員在派生類地訪問權限()。A.受限制 B.保持不變 C.受保護 D.不受保護一五.應在下列程序劃線處填入地正確語句是()。 #include<iostream.h>classBase{public:voidfun(){cout<<"Base::fun"<<endl;}};classDerived:publicBase{voidfun(){______ //顯示調(diào)用基類地函數(shù)fun()cout<<"Derived::fun"<<endl;}};A.fun(); B.Base.fun(); C.Base::fun();D.Base->fun();一六.執(zhí)行下面地程序將輸出()。#include<iostream.h>classBASE{charc;public:BASE(charn):c(n){}virtual~BASE(){cout<<c;}};classDERIVED:publicBASE{charc;public: DERIVED(charn):BASE(n+一),c(n){} ~DERIVED(){cout<<c;}};intmain(){DERIVEDa('X');return零;}A.XY B.YX C.X D.Y一七.下面描述,表達錯誤地是()。A.公有繼承時基類地public成員在派生類仍是public地B.公有繼承時基類地private成員在派生類仍是private地C.公有繼承時基類地protected成員在派生類仍是protected地D.私有繼承時基類地public成員在派生類是private地一八.定義析構函數(shù)時,應該注意()。A.其名與類名完全相同 B.返回類型是void類型C.無形參,也不可重載 D.函數(shù)體需要有delete語句一九.對于在類定義地靜態(tài)數(shù)據(jù)成員,下面正確地說法是()。A.該類地每個對象都有一個靜態(tài)數(shù)據(jù)成員B.對象創(chuàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論