2022年江西省萍鄉(xiāng)市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2022年江西省萍鄉(xiāng)市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2022年江西省萍鄉(xiāng)市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2022年江西省萍鄉(xiāng)市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2022年江西省萍鄉(xiāng)市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2022年江西省萍鄉(xiāng)市全國(guó)計(jì)算機(jī)等級(jí)考試

C++語(yǔ)言程序設(shè)計(jì)真題(含答案)

學(xué)校:班級(jí):姓名:考號(hào):

一、L選擇題(10題)

L軟件結(jié)構(gòu)設(shè)計(jì)的圖形工具是()o

A.DFD圖B.結(jié)構(gòu)圖C.PAD圖D.N-S圖

2.設(shè)intb=12表達(dá)式b+=b-=b*b求值后b的值是。

A.552B,264C,144D.-264

3.信息隱蔽的概念與下述哪一種概念直接相關(guān)()。

A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型劃分D.模塊耦合度

4.下面的程序的結(jié)果是main(){intx=3,y=0,z=0;

if(x=y+z)cout<<"***elsecout<<"###

#";}

A.有語(yǔ)法錯(cuò)誤不能通過(guò)編譯

B.輸出****

C.可以通過(guò)編譯,但是不能通過(guò)連接,因而不能運(yùn)行

D.輸出####

5.有如下的對(duì)類“X”的說(shuō)明,其中是錯(cuò)誤的。classX{

A.inta=10;B.X();public:C.X(intval);D.~X();}

6.類的析構(gòu)函數(shù)的作用是()。

A.一般成員函數(shù)B.創(chuàng)建對(duì)象C.初始化對(duì)象D.刪除對(duì)象

7.決定C++語(yǔ)言中函數(shù)的返回值類型的是()。

A.retum語(yǔ)句中的表達(dá)式類型

B.調(diào)用該函數(shù)時(shí)系統(tǒng)隨機(jī)產(chǎn)生的類型

C.調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類型

D.在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型

8.有下列二叉樹,對(duì)此二叉樹前序遍歷的結(jié)果為()o

A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI

9.設(shè)有intx=ll;,則表達(dá)式(x++*2/3)的值是

A.7B,8C.11D.12

10.下列對(duì)變量的引用中,錯(cuò)誤的是()。

A.inta;int&p=a;

B.chara;char&p=a;

C.inta;int&p;p=a;

D.floata;float&p=a;

二、單選題(13題)

11.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各

種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。

A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)

12.對(duì)于一個(gè)類定義,下列敘述中錯(cuò)誤的是()。

A.如果沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù)

B.如果沒有定義缺省的構(gòu)造函數(shù),編譯器一定將生成一個(gè)缺省的構(gòu)造函

數(shù)

C.如果沒有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷

貝構(gòu)造函數(shù)

D.如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造

函數(shù)

13.已知類MyClass聲明如下:

classMyClass{

intn;

public:

MyClass(intk):n(k){}

intgetValue()const{returnn;}

};

在下列數(shù)組定義中正確的是O

A.MyClassxl[2];

B.MyClassx2[2]={newMyClass(l),newMyClass(2)};

C.MyClass*x3[2];""

D.MyClass*x4[2]={MyClass(l),MyClass(2)};

14.下面關(guān)于數(shù)組的初始化正確的是()o

A.charstr[]={,a,,'b',5C5}

B.charstr[2]={'a','b','c'}

C.charstr[2][3]={{'a','b'},{'C','d'},{V,T}}

D.charstr={-a,-b,-C)

15.要利用C++流進(jìn)行文件操作,必須在程序中包含的頭文件是

()。

A.iostreamB.fstreamC.strstreamD.iomanip

16.有如下程序:

ClassBase{public:

intdata;};

ClassDerivedl:publicBase{};

ClassDerived2:protectedBase{};

intmain(){

Derivedldl;Derived2d2;dl.data=O;〃①

d2.data=O;〃②return0;

)

下列關(guān)于程序編譯結(jié)果的描述中,正確的是()。

A.①②皆無(wú)編譯錯(cuò)誤B.①有編譯錯(cuò)誤,②無(wú)編譯錯(cuò)誤C.①無(wú)編譯錯(cuò)誤,

②有編譯錯(cuò)誤D.①②皆有編譯錯(cuò)誤

17.軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分

析、編寫需求規(guī)格說(shuō)明書以及。

A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確

18.下面程序輸出的結(jié)果為()。

#include''iostream.h"

classA

{public:

A(){cOUt<<"CLASSA"<<endl;}

?A(){)};

ClaSSB:publicA

{public:

B(){cout<<"CLASSB"<<endl;}

?B(){}};

voidmain()

{A*P;

P=newB:

B*q:

q=newB;}

A.CLASSA

B.CLASSACLASSBCLASSBCLASSB

C.CLASSA

D.CLASSACLASSBCLASSBCLASSACLASSBCLASSBCLASSB

19.設(shè)int&max(int&,int&)返回兩參數(shù)中較大者,如有兩整型變量inta=5;int

b=10;在執(zhí)行max(a,b)++后,a,b的值分別為

A.5,10B,6,10C,5,11D,6.11

20.為了使模塊盡可能地獨(dú)立,要求

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

21.設(shè)R是一個(gè)2元關(guān)系,S是一個(gè)3元關(guān)系,則下列運(yùn)算中正確的是

()o

A.R-SB.RxSC.RASD.RUS

22.某二叉樹有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是

A.10B.8C.6D.4

23.C++語(yǔ)言類體系中,不能被派生類繼承的有()o

A.轉(zhuǎn)換函數(shù)B.構(gòu)造函數(shù)C.虛函數(shù)D.靜態(tài)成員函數(shù)

三、2.填空題(12題)

24.結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì),【】的任務(wù)是決定系統(tǒng)

的模塊結(jié)構(gòu)。

25.閱讀下面程序:

#include<iostream.h>

voidfunl(chara,charb)

(

charc;

c=a;a=b;b=C;

)

voidfun2(char&a,charb)

(

charc;

c=a;a=b;b=c;

)

voidfun3(char&a,char&b)

(

charc;

c=a;a=b;b=C;

)

voidmain()

(

chara,b;

a='A';b='B';

funl(a,b);cout<<a<<b;

a='A';b='B';

fun2(a,b);cout<<a<<b;

a='A';b='B';

fun3(a,b);cout<<a<<b;

則該程序的輸出為【】。

26.在數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。

27.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,最壞的情況下需要的比

較次數(shù)為【】。

28.下列程序的招待結(jié)果是【]o

#include<iostream,h>

floattemp;

float&fn2(floatr)

(

temp=r*r*3.14;

returntemp;

)

voidmain()

(

floata=fn2(5.0);

float&b=fn2(5.0)

b=20;

cout<<temp<<endl;

29.在擴(kuò)展的E-R模型中;子類【】超類所有的聯(lián)系和屬性。

30.在程序設(shè)計(jì)階段應(yīng)該采取【】和逐步求精的方法,把一個(gè)模塊的功

能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語(yǔ)言寫成

程序。

31.寫出下列程序的運(yùn)行結(jié)果【】。

#include<iostream.h>.

#include<fstream.h>

#include<stdlib.h>

voidmain()

(

fstreamoutfile,infile;

outfile.open("data.clat",ios::out);

if(!outfile)

(

cout<<"Can'topenthefile."<<endl;

abort();

)

outfile<<"1234567890"<<endl;

outfile<<"aaaaaaaaa"<<endl;

outfile<<”**********"<<endl;

outfile.close();

infile.open("data.dat",ios::in);

if(Jinfile)

(

cout<<"Can'topenthefile."<<endl;

abort();

charline[80];

int1=0;

while(Jinfile.eof())

I++;

infile.getline(line,sizeof(line));

cout<<I<<<<line<<endl;

)

infile.close();

32.main函數(shù)中發(fā)生編譯錯(cuò)誤的語(yǔ)句是[]o

#include<iostream,h>

classA

(

public:

inta;

constintb:

A():a(10),b(20){

voidfun()const

(

cout<<"a="<<a<<"\tb="<<b<<endl;

voidmain()

Aobj1;

constA*ptr=newA:

ptr=&obj1;

ptr->a=100;

ptr->fun(),

33.下列程序的輸出結(jié)果是【】。

#include<iostream>

usingnamespacestd;

intmain()

intdata=l;

int&r=data;

data+=5;

r+=5;

cout<<data<<endl;

return0;

)

34.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有【】。

35.靜態(tài)成員函數(shù)可以直接訪問(wèn)類的【】成員,不能直接訪問(wèn)類的【】

成員。

四、程序改錯(cuò)題(10題)

36.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)

行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:

number=l

number=10

number=100

注意:不要改動(dòng)main函數(shù),不能增加或刪除行。也不能更改程序的結(jié)

構(gòu),錯(cuò)誤的語(yǔ)句在//******errc>r******的下面。

試題程序:

#include<iostream.h>

classTC

(

public:

TC(inti)

number=i;

voidSetNumber(intm)

(

number=m;

)

intGetNumberconst

(

returnnumber;

)

voidPrintconst

(

cout?"number="?number?endl;

)

private:

intnumber;

voidmain

****************

TCobjl;

objl.Print;

TCobj2(3);

II********ej*j*or********

objl.number=10;

II*************

TC.SetNumber(lOO);

objl.Print;

obj2.Print;

37.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)

行時(shí)有錯(cuò)誤,請(qǐng)改正程序中的錯(cuò)誤,使得程序輸出:

9,8,7,6,5

注意:錯(cuò)誤的語(yǔ)句在/********error********/的下面,修改該語(yǔ)句即

可。其他的語(yǔ)句不能修改。

試題程序:

#include(iostream.h>

classTC

I********ei*ror********/

TC(inti)

(

m_i=i;

)

voidprint

(

cout?—m_i?,;

}

public:

intm_i;

intmain

I********ej*por********I

inti;

TC04(10);

while(i>5)

I********eirOr********I

1++

04.print;

)

cout?endl;

returnO;

38.使用VC++6.。打開考生文件夾下的源程序文件1.cpp。本程序

要求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可

能輸入多行,當(dāng)輸入字符“?”時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出

到屏幕中。

注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)

構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

試題程序:

#include<iostream.h>

voidmain

(

inti=O;

charstr[120];

cout?"Enterastringendwith?."?endl;

II********epj*or********

cin.getline(str,120);

II********ej*j*or********

while(str)

/I********eppor********

if(str[i])=a)

str[i]=str[i]-a+A;

i++;

)

cout?str?endl;

return;

39.使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序

運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:

number=l

number=10

number=100

注意:不要改動(dòng)main函數(shù),不能增加或刪除行。也不能更改程序的結(jié)

構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

試題程序:

#include<iostream.h>

classTC

(

public:

TC(inti)

number=i;

voidSetNumber(intm)

(

number=m;

)

intGetNumberconst

(

returnnumber;

)

voidPrintconst

(

cout?"number="?number?endl;

)

private:

intnumber;

);

voidmain

********error********

TCobjl;

objl.Print;

TCobj2(3);

/I********eppor********

objl.number=10;

II********ej*j*0j**^^o******

TC.SetNumber(lOO);

objl.Print;

obj2.Print;

40.使用VC++6.。打開考生文件夾下的源程序文件1.cpp,但該程

序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使該程序的輸出結(jié)果正

確。

程序輸出:

8

8

注意:錯(cuò)誤的語(yǔ)句在/********error********/的下面。修改該語(yǔ)句

即可,其他的語(yǔ)句不能修改。

試題程序:

#include(iostream.h>

classCO

public:

/********ej*por********I

staticintn=0:

CO

n++:

?CO

):

I********enor********I

intCO::n;

voidmain

(

COobj;

COobj2[7];

CO*C=NULL:

c=&obj:

/********epj^0r********I

eout?C.n?endl;

cout?C0::n?endl;

41.使用VC++6.0打開考生文件夾下的源程序文件1.cppo本程序要

求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可能輸

入多行,當(dāng)輸入字符“?”時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出到屏幕

中。

注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)

構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

試題程序:

#include<iostream.h>

voidmain

inti=0;

charstr[120];

cout?"Enterastringendwith?."?endl;

II********ej*j*or********

cin.getline(str,120);

II********eppor********

while(str)

II********epj*or********

if(str[i])=a)

str[i]=str[i]-a+A;

i++;

cout?str?endl;

return;

42.使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序

運(yùn)行時(shí)有錯(cuò)。請(qǐng)改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為

100

37

32

注意:錯(cuò)誤的語(yǔ)句在//******error******的下面,修改該語(yǔ)句即

可。

試題程序:

#include<iostream.h>

******ei^or******

voidmain

//******enor******

intm=0142:

//************

intn=0X27:

intq=32;

cout<<m<<endl;

cout<<n<<endl;

cout<<q<<endl;

return;

)

43.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)

行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為

Constructor,i=0,

Destructor

注意:錯(cuò)誤的語(yǔ)句在//******errc*r******的下面,修改該語(yǔ)句即可。

試題程序:

#include(iostream.h)

classTC

(

inti;

public:

TC;

voiddisplay;

-TC;

II******ej*por******

TC:TC

cout?"Constructor"?"

i=0;

II******ej*x*or******

TC:display

tout?"i="?i<<","?endl;

II******ej*x*or******

TC:TC

COUI?"Destructor"?endl:

voidmain

TCa;

a.display;

44.使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序

運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)

catch必須拋出執(zhí)行的任何異常。

程序異常,輸出信息為

error

0

ERROR

注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)

構(gòu),錯(cuò)誤的語(yǔ)句在//******errc>r******的下面。

試題程序:

#include<iostream.h)

intmain

(

try

(

throw("error");

catch(chars)

(

cout?s?endl;

)

try

(

throw((int)0);

)

//********e

catch

cout?i?endl;

try

throw(O);

throw("error");

/I********eppor********

catch

(

cout?"ERROR"?endl;

)

returnO;

45.使用VC++6.。打開考生文件夾下的源程序文件

1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正程序中的錯(cuò)誤。本程序要求實(shí)

現(xiàn)的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。

注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)

構(gòu),錯(cuò)誤的語(yǔ)句在

/I************白勺-?,jo

試題程序:

#include<iostream>

#include<fstream>

/I********ej*por********

usingstd;

voidWriteFile(char*s)

ofstreamoutl;

********error********

outl.open("l.txt",binary|app);

for(inti=0;s[i]!=0;i++)

II********epj*or********

outl.puts(s[i]);

outl.close;

voidClearFile

ofstreamoutl;

outl.open("l.txt");

outl.close;

intmain

chars[1024];

ClearFile;

cout?"pleaseinputastrin9:"?endl;

cin.getline(s,1024);

WriteFile(s);

returnO;

五、綜合應(yīng)用題(2題)

46.使用VC++6.。打開源程序文件3.cpp。其中類TC用于把文件

輸出到屏幕,然后進(jìn)行文件的分割。分割的方法如下:第一個(gè)文件的

大小是文件的前一半,另外一個(gè)文件的大小是剩余部分。此程序?qū)?/p>

in.txt文件中的內(nèi)容輸出到

屏幕,并且將文件按照以上方式分割,存于文件。utl.txt和out2.txt

中。

其中定義的類并不完整,按要求完成下列操作,將類的定義補(bǔ)充完

整。

⑴從輸入文件中獲得一個(gè)字符,并判斷是否到文件結(jié)

尾,如果到文件結(jié)尾,則退出循環(huán)。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

(2)把獲得的輸入文件的內(nèi)容存儲(chǔ)到bur中,并且用len

記錄下文件的長(zhǎng)度。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

(3)將輸入文件的后一半內(nèi)容存儲(chǔ)在第二個(gè)文件中,請(qǐng)

在注釋3后添加適當(dāng)?shù)恼Z(yǔ)句。

(4)使用文件流對(duì)象打開輸入文件in.txt,請(qǐng)?jiān)谧⑨?

后添加適當(dāng)?shù)恼Z(yǔ)句。

注意:增加代碼或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái)。請(qǐng)不要修

改其他的程序代碼。

試題程序:

#include<iostream.h>

#include<fstream.h>

#include<stdlib.h)

classTC

(

public:

TC(char*fileName)

(

len=O;

fstreaminfile;

infile.open(fileName,ios::in)

charch;

while

(

cout?ch;

//********2********

)

infile,close;

)

voidsplit

(

fstreamoutfilel;

fstreamoutfile2;

outfilel.open("outl.txt",ios::out);

outfile2.open("out2.txt",ios::out);

inti=0:

for(i=0;i<len/2;i++)

outfilel?buf[i];

do

//********3********

)

while(i!=len);

outfilel.close;

outfile2.close;

)

prwate:

intlen;

charbuf[1024];

);

voidmain

(

//********4********

TCobj;

obj.split;

return;

)

47.使用VC++6.。打開考生文件夾下的源程序文件3.cpp。其中定

義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。每賣出

一個(gè)水果,則計(jì)算水果的重量,還要計(jì)算所有賣出水果的總重量以及

總個(gè)數(shù),同時(shí)允許退貨,請(qǐng)按照以下的操作,把類補(bǔ)充完整。

⑴定義類TCFruit的私有靜態(tài)數(shù)據(jù)成員float型變量AllWeight和int型

變量A11N0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

(2)完成類TCFruit的帶一個(gè)float型變量w的構(gòu)造函數(shù),并把這個(gè)w加

到AllWeight中,并且AllNo自加。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

⑶在析構(gòu)函數(shù)中,在AllWeight中減去weight,然后AllNo自減,請(qǐng)

在注釋3后添加適當(dāng)?shù)恼Z(yǔ)句。

(4)完成靜態(tài)成員變量的初始化為0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái),請(qǐng)不要修改其

他的程序代碼。

試題程序:

#include(iostream.h>

classTCFruit

(

private:

floatWeight;

staticintAHNo;

public:

TCFruit(floatw)

(

//?I>?I>?I>*1**1**1**1**1**1**1^

AllWeight+=w:

AllNo++:

TCFruit

//********3********

A11Weight-=Weight:

)

voiddisplay

(

cout?"SellaFruitwith"?Weight?"k9"<<

endl;

cout?,,Allsellnumber:''?A11No?endl;

cout?"Allsellweight:"?A11Weight?"k9"?

endl?endl;

)

);

II********4********

floatTCFruit::AllWeight=O.0;

intmain

(

TCFruitFruitl(l.2);

Fruitl.display;

TCFruitFruit2(2.3);

Fruit2.display;

returnO;

)

六、3.綜合應(yīng)用題(2題)

48.使用VC6打開考生文件夾下的工程test21_3,此工程包含一個(gè)源程

序文件test21_3.cpp,其中定義了用于表示長(zhǎng)方形的類CRectangle,但類

CRectangle的定義并不完整。請(qǐng)按要求完成下列操作,將類CRectangle

的定義補(bǔ)充完整。

⑴定義CRectangle的構(gòu)造函數(shù),函數(shù)含參數(shù)dx,dy,da和db,它們都

是double型的數(shù)據(jù),請(qǐng)將類數(shù)據(jù)成員x,y,a和b初始化,并輸出

“CRectangleConstructed."(另起一行輸出該文字)。請(qǐng)?jiān)谧⑨尅啊?*1**之后

添加適當(dāng)?shù)恼Z(yǔ)句。

(2)完成類CRectangle的成員函數(shù)getperimeter。的定義,將以a和b為

邊的矩形周長(zhǎng)的值返回,請(qǐng)?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(3)完成類CRectangle的成員函數(shù)getarea。的定義將以a和b為邊的矩

形面積的值返回,請(qǐng)?jiān)谧⑨尅啊?*3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(4)完成類CRectangle的友元函數(shù)frienddoubledist(CRectangle&rt)的定

義,先定義兩個(gè)double型的臨時(shí)變量tx和ty,然后將參數(shù)對(duì)象rt的數(shù)

據(jù)成員x與a的一半相加,y與b的一半相加,分別賦值給tx和ty,最

后求出tx與ty的平方和的值之后將它的平方根返回,將請(qǐng)?jiān)谧⑨?/p>

“〃**4**,,之后添加適當(dāng)?shù)恼Z(yǔ)句。

輸出結(jié)果如下:

CRectangleConstructed.

Down_Leftcornerpointis:(100,50)

a=1200,b=700

Perimeterofthisrectangleis:3800

Areaofthisrectangleis:840000

TheDistanceis:806.226

CRectangleConstructed.

Down_Leftcornerpointis:(200,150)

a=2000,b=800

Perimeterofthisrectangleis:5600

Areaofthisrectangleis:1.6e+006

TheDistanceis:1320.04

CRectangleDestructed.

CRectangleDestructed.

注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。

源程序文件test21_3.cpp清單如下:

#include<iostream.h>

#include<math.h>

classCRectangle

(一

private:

doublex;

doubley;

doublea;

doubleb;

public:

CRectangle()

(-

cout<<"\nCRectangleConstructed."<<endl;

)

CRectangle(doubledx,doubledy,doubleda,doubledb)

(“

〃**]**

a=da;

b=db;

cout<<"\nCRectangleConstructed."<<endl;

CRectangle()

cout<<"CRectangleDestructed."<<endl;

)

voidputxy(doubledx,doubledy){x=dx;y=dy;}

voidputab(doubleda,doubledb)(a=da;b=db;}

doublegetx(){returnx;}

doublegety(){returny;}

doublegeta(){returna;}

doublegetb(){returnb;}

doublegetperimeter()

(-

〃**2**

)

doublegetarea()

(一

〃**3**

)

frienddoubledist(CRectangle&rt);

);

doubledist(CRectangle&rt)

{,

ty=rt.y+rt.b/2.0;

returnsqrt(tx*tx+ty*ty);

)

voidmain()

(

CRectanglerect;

rect.putxy(100.0,50.0);

rect.putab(1200.0,700.0);

cout<<"Down_Leftcornerpointis:("<<rect.getx()<<","<<

rect.gety()<<")"<<endl;

cout<<"a="<<rect.geta()<<",b="<<rect.getb()<<endl;

cout<<"Perimeterofthisrectangleis:"<<rect.getperimeter()<<endl;

cout<<"Areaofthisrectangleis:"<<rect.getarea()<<endl;

cout<<

49.使用VC6打開考生文件夾下的工程testl8_3,此工程包含一個(gè)源程

序文件testl8_3.cpp,其中定義了用于表示雇員的類Employee,但類

Employee的定義并不完整。請(qǐng)按要求完成下列操作,將類Employee的

定義補(bǔ)充完整。

(1)補(bǔ)充類Employee的構(gòu)造函數(shù),請(qǐng)使用字符串函數(shù)將數(shù)據(jù)成員name,

address,city,province和zipcode分另初始化為參數(shù)*nm,*addr,*city,

*prov和*zip的值。請(qǐng)?jiān)谧⑨尅啊?*1**”之后添加適當(dāng)?shù)恼Z(yǔ)句;

(2)完成類Employee的成員函數(shù)ChangeName(char*newName)的定義

將newName指向的內(nèi)容賦值給數(shù)據(jù)成員name,請(qǐng)?jiān)谧⑨尅啊?*2**”之后

添加適當(dāng)?shù)恼Z(yǔ)句;

(3)完成類Employee的成員函數(shù)Display。的定義,先使用指針buffer動(dòng)

態(tài)申請(qǐng)一個(gè)char型的200單位大小的空間,然后使用字符串函數(shù)將數(shù)

據(jù)成員name和address依次復(fù)制其中,最后返回該指針buffer,將請(qǐng)?jiān)?/p>

注釋“〃**3**,,之后添加適當(dāng)?shù)恼Z(yǔ)句。輸出結(jié)果如下:

王東建國(guó)路大街105號(hào)

注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。

源程序文件testl8_3.cpp清單如下:

#include<iostream.h>

#include<string.h>

classEmployee{

protected:

charname[20];

charaddress[100];

charcity[20];

charprovince[20];

charzipcode[10];

public:

Employee(char*nm,char*addr,char*city,char*prov,char*zip);

voidChangeName(char*newName);

char*Display();

};

Employee::Employee(char*nm,char*adr,char*cit,char*prov,char*zip)

(

〃**]**

strcpy(city,cit);

strcpy(province,prov);

strcpy(zipcode,zip);

}.

voidEmployee::ChangeName(char*newName)

{”

〃**2**

)

char*Employee::Display()

{'

〃**3**

strcat(buffer,address);

returnbuffer;

)

voidmain()

(

Employeeemp("李華","建國(guó)路大街105號(hào)","石家莊“,“河北“,"103400");

emp.ChangeName("王東”);

cout<<emp.Display()<<endl;

)

參考答案

1.BB.【解析】常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖,也稱程序結(jié)構(gòu)圖。

DFD圖(數(shù)據(jù)流圖)是以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)

程,只反映系統(tǒng)必須完成的邏輯功能。它是需求分析階段的圖形工具。

盒式圖(N—S圖)和問(wèn)題分析圖(PAD.是詳細(xì)設(shè)計(jì)的常用工具。

2.D

3.B解析:信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不

需要這些信息的其他模塊來(lái)說(shuō)是不能訪問(wèn)的。模塊獨(dú)立性是指每個(gè)模塊

只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)

單。衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。一個(gè)模塊的

耦合性越強(qiáng),則該模塊的模塊獨(dú)立性越強(qiáng)。

4.D解析:注意本題本意是考察x==y+z,但是少寫了一個(gè)=,因此邏輯

表達(dá)式變成了賦值語(yǔ)句,故x的值為0,即假,因此程序執(zhí)行else部分。

本題答案為D。

5.A

6.D解析:析構(gòu)函數(shù)的作用是刪除對(duì)象。

7.D

8.C解析:對(duì)二叉樹的前序遍歷是指先訪問(wèn)根結(jié)點(diǎn),然后訪問(wèn)左子樹,

最后訪問(wèn)右子樹,并且,在訪問(wèn)左、右子樹時(shí),先訪問(wèn)根結(jié)點(diǎn),再依

次訪問(wèn)其左、右子樹。

9.A解析:當(dāng)自加運(yùn)算符做后綴表達(dá)式的時(shí)候,表達(dá)式的值不變,只有

變量的值增1,所以表達(dá)式(x++*2/3)相當(dāng)于(11*2/3)取整后為7。

10.C解析:本題考核引用的定義和初始化。引用具有如下特點(diǎn):

①引用能夠使用任何合法變量名。

②引用不是變量,所以必須在定義時(shí)初始化,而且一旦初始化之后,

就不能再成為其他變量的引用。

③引用不是值,不占存儲(chǔ)空間,說(shuō)明引用時(shí),目標(biāo)的存儲(chǔ)狀態(tài)不會(huì)改

變。所以,引用只有說(shuō)明,沒有定義。

④引用僅在說(shuō)明時(shí)帶有“&”,以后就像普通變量一樣使用,不能再帶

在選項(xiàng)C中,由于在定義引用p后沒有進(jìn)行初始化,所以此語(yǔ)句是錯(cuò)

誤的。故本題答案是C。

1LA解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究和討論以下三

個(gè)方面的問(wèn)題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即

數(shù)據(jù)的邏輯結(jié)構(gòu);②在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的

存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。

12.B

本題考查構(gòu)造函數(shù)和復(fù)制構(gòu)造函數(shù),如果沒有定義構(gòu)造函數(shù),編譯器

將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷貝構(gòu)造函數(shù),如果已經(jīng)定義了構(gòu)

造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造函數(shù)。如果沒有定

義拷貝構(gòu)造函數(shù),編澤器將生成一個(gè)拷貝構(gòu)造函數(shù)。

13.C

本題主要考查了對(duì)象數(shù)組、指針數(shù)組和new運(yùn)算符。new運(yùn)算符返回

指向指定類型的一個(gè)指針。對(duì)象數(shù)組是指數(shù)組元素為對(duì)象的數(shù)組,該

數(shù)組中的每一個(gè)元素都是同一個(gè)類的對(duì)象。定義對(duì)象數(shù)組時(shí),系統(tǒng)將

自動(dòng)調(diào)用構(gòu)造函數(shù)創(chuàng)建每一個(gè)對(duì)象元素,因?yàn)轭怣yClass中定義了一

個(gè)有一個(gè)整型參數(shù)的構(gòu)造函數(shù),編譯器將不再為其生成缺省構(gòu)造函

數(shù),所以定義對(duì)象數(shù)組時(shí)必須分別調(diào)用有參構(gòu)造函數(shù)為每一個(gè)數(shù)組元

素指定初始值。因此選項(xiàng)A錯(cuò)誤,沒有初始化對(duì)象數(shù)組;選項(xiàng)B中,用

指向?qū)ο蟮闹羔槼跏蓟瘜?duì)象數(shù)組,類型不匹配,因此選項(xiàng)B錯(cuò)誤;指針

數(shù)組是由指針組成的數(shù)組,即數(shù)組中的每一個(gè)元素都是指向同一類型

對(duì)象的指針。選項(xiàng)C定義了指向MyClass類對(duì)象的指針數(shù)組x3,該定

義語(yǔ)句正確;選項(xiàng)D中,只能用指向MyClass類對(duì)象的指針或用已有的

MyClass類對(duì)象的地址來(lái)初始化指針數(shù)組x4的每一個(gè)元素,不能用對(duì)

象進(jìn)行初始化,因此選項(xiàng)D錯(cuò)誤。

14.A

本題考查的是字符數(shù)組的初始化。選項(xiàng)B中用3個(gè)底素初始化大小為

2的數(shù)組,越界了;選項(xiàng)c中應(yīng)該是2行3列的數(shù)組,題中使用3行2

列初始化;選項(xiàng)D中數(shù)組合后應(yīng)用方括號(hào)。

15.B

解析:iostream通用I/O流類和其他I/O流的基類;fstream類用來(lái)對(duì)文

件流進(jìn)行操作,fstream類的頭文件是fstream.h:stxstream類同時(shí)可以

支持C風(fēng)格的串流的輸入輸出操作iomanip是I/O流控制頭文件,就

像c中的格式化輸出一樣。

16.C

本題考查公用繼承和保護(hù)繼承對(duì)基類成員的訪問(wèn)屬性。在公用繼承

中,基類的公用成員和保護(hù)成員在派生類中保持原有訪問(wèn)屬性,其私

有成員仍為基類私有、稿.受保護(hù)繼承中,基類的公用成員和保護(hù)成

員在派生類中成了保護(hù)成員,其私有成員仍為基類私有。本題中

Derivedl公用繼承Base.所以①編譯正確,Derived2保護(hù)繼承Base,

所以②編譯不正確。

17.B解析需求分析階段的工作,可以概括為以下4個(gè)方面需求獲取、

需求分析、編寫需求規(guī)格說(shuō)明書和需求評(píng)審。本題的正確答案為B。

18.C

Co【解析】本題考查類的繼承、類的實(shí)例化和構(gòu)造函數(shù)、析構(gòu)函數(shù)的

調(diào)用方式以及何時(shí)調(diào)用。每實(shí)例化一個(gè)類就要調(diào)用其構(gòu)造函數(shù),結(jié)束

運(yùn)行該實(shí)例后調(diào)用析構(gòu)函數(shù)。

19.C

考點(diǎn):本題主要考查知識(shí)點(diǎn)為引用作為函數(shù)參數(shù)透析:執(zhí)行

max(a,b)++后,函數(shù)返回變量b后加1,即b=ll.因?yàn)楹瘮?shù)參數(shù)采用的

引用方式,使用改變的是實(shí)參變量b的值。

20.B解析:程序設(shè)計(jì)的相關(guān)概念。

21.B解析:關(guān)系的交⑺)、并(U)和差(一)運(yùn)算要求兩個(gè)關(guān)系是同元的,

顯然作為二元的R和三元S只能做笛卡兒積運(yùn)算。

22.C

根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是

比度為2的結(jié)點(diǎn)多一個(gè)。

23.B

Bo【解析】派生類對(duì)象的數(shù)據(jù)結(jié)構(gòu)是由基類中說(shuō)明的數(shù)據(jù)成員和派生

類中說(shuō)明的數(shù)據(jù)成員共同構(gòu)成,所以不能繼承基類的構(gòu)造函數(shù),必須

重新定義。

24.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)解析:結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì)

-系統(tǒng)設(shè)計(jì)的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu):模塊設(shè)計(jì)的任務(wù)是具體考慮

每一個(gè)模塊內(nèi)部采用什么算法,模塊的輸入、輸出以及該模塊的功能。

25.ABBBBA

26.E-R圖E-R圖

27.1og2nlog2n解析:在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,最壞的

情況下需要的比較次數(shù)為logzn。

28.2020解析:本題考察全局變量和引用的綜合使用。在主函數(shù)中,b實(shí)

際上是temp的一個(gè)引用。因此在給b賦值20的時(shí)候,輸出的temp就

是20o

29.繼承繼承

30.自頂而下自頂而下

31.1:12345678902:aaaaaaaaa3:**********4:

32.ptr->a=100;ptr->a=100;解析:本題考察的是const的使用。const

修飾的是指針變量的值,及指針本身是可變的,但指針?biāo)笇?duì)象的值是

常量,即ptr->a是不能被改變的。

33.11

34.前件前件解析:在樹形結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父

結(jié)點(diǎn),沒有前件的結(jié)點(diǎn)只有一個(gè),稱為樹的根結(jié)點(diǎn);每一個(gè)結(jié)點(diǎn)可以有

多個(gè)后件,它們都稱為該結(jié)點(diǎn)的了結(jié)點(diǎn)。沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)。

35.靜態(tài)非靜態(tài)靜態(tài)\r\n非靜態(tài)解析:靜態(tài)成員函數(shù)可以直接訪問(wèn)該類

中的靜態(tài)數(shù)據(jù)成員,而不能訪問(wèn)該類中的非靜態(tài)數(shù)據(jù)成員。

36.⑴應(yīng)改為"TCobjl(l);

\n(2)應(yīng)改為“Objl.SetNumber(lO);”。

\n(3)應(yīng)改為“0bj2.SelNumber(lOO);

\n【解析】本題第1處的“TCobjl;”語(yǔ)句是聲明TC類的對(duì)象Objl,根據(jù)

TC類構(gòu)造函數(shù)的定義TC(inti),存在整型參數(shù),并且題目要求第一個(gè)輸

出結(jié)果兩1,所以補(bǔ)全參數(shù)1,即第1處的“TCobjl(l);第2處處的

“objl.number=10;”應(yīng)該是調(diào)用成員函數(shù)SetNumber賦值。在C++中

成員函數(shù)的使用形式應(yīng)該是:對(duì)象名.成員函數(shù),所以修改為

5,

“objl.SetNumber(lO);o類是對(duì)象的抽象,而對(duì)象是類的具體實(shí)例。

第3處"(2.5611^11加61"(10());”語(yǔ)句中的1(2為類,并不是對(duì)象,這里

應(yīng)該使用定義的對(duì)象,即obj2,所以將語(yǔ)句修改為

“obj2,SetNumber(lOO);

37.⑴應(yīng)添加“public:

\n(2)“inti”應(yīng)改為“inti(10);

\n(3)“i++;”應(yīng)改為“i-

\n【解析】本題主要考查的是成員的訪問(wèn)屬性。成員的訪問(wèn)屬性有公有、

保護(hù)和私有3種,而默認(rèn)的訪問(wèn)屬性為私有,只有公有成員才能通過(guò)類

的對(duì)象被訪問(wèn)。故應(yīng)在構(gòu)造函數(shù)前添加“public:",否則該類無(wú)法被實(shí)例

化。變量的初始化可以通過(guò)“=”號(hào),也可以和初始化對(duì)象一樣添加構(gòu)造

參數(shù),題目已要求使用后者。本題要求輸出5個(gè)數(shù),while的循環(huán)變量i

每次減1,在i>5時(shí)循環(huán),故i初始化應(yīng)為10。若循環(huán)中i每次增1,則

循環(huán)永遠(yuǎn)不會(huì)退出。

38.(1)應(yīng)改為“ein.getline(str,120,?);

(2)應(yīng)改為"while(str[i])”。

(3)應(yīng)改為“if(str[i]>=a&&str[i]<=2)"°

【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員

函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符

個(gè)數(shù),終止標(biāo)志字符廣,所以第1處改為“cin.getline(str,

120,?);第2處的“while(str)”語(yǔ)句應(yīng)該是判斷字符串str中的每一

個(gè)字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否

為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”。第3處的

“if(str[i]>=a)”語(yǔ)句是判斷字符str用是否為小寫字符,而現(xiàn)有的語(yǔ)句只

是判斷字符是否大于a,但是小寫字符應(yīng)該是a到2,所以修改為

,5

“if(str[i]>=a&&str[i]>=z)e

39.(1)應(yīng)改為"TCobjl(l);

(2)應(yīng)改為“Objl.SetNumber(lO);

(3)應(yīng)改為“0bj2.SelNumber(lOO);

【解析】本題第1處的“TCobjl;”語(yǔ)句是聲明TC類的對(duì)象Objl,根據(jù)

TC類構(gòu)造函數(shù)的定義TC(inti),存在整型參數(shù),并且題目要求第一個(gè)

輸出結(jié)果兩1,所以補(bǔ)全參數(shù)1,即第1處的“TCobjl(l);第2處處

的“objl.number=10;”應(yīng)該是調(diào)用成員函數(shù)SetNumber賦值。在C+

+中成員函數(shù)的使用形式應(yīng)該是:對(duì)象名.成員函數(shù),所以修改為

“objl.SetNumber(lO);類是對(duì)象的抽象,而對(duì)象是類的具體實(shí)

例。第3處“TC.SetNumber(lOO);”語(yǔ)句中的TC為類,并不是對(duì)象,

這里應(yīng)該使用定義的對(duì)象,即obj2,所以將語(yǔ)句修改為

“obj2.SetNumber(lOO);

40.(l)“staticintn=O"應(yīng)改為"staticintn;"。

(2)“intC0::n;”應(yīng)改為“intCO::n=0;

(3)Mcout?c.n?endl;"應(yīng)改為"cout?c->n?endl;"。

【解析】本題要在屏幕上輸出兩個(gè)字符,首先要靜態(tài)變量初始化,第1

處應(yīng)改為“staticintn;”,第2處要給n賦值,第3處輸出時(shí)引用c的對(duì)

象,應(yīng)改為"cout?c->n?endl;"。

41.(1)應(yīng)改為“ein.getline(str,120,?);

W(2)應(yīng)改為"while(str[i])”。

5,

W(3)應(yīng)改為"iRstr[i]>=a&&str[i]<=2)o

\n【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員

函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符個(gè)

數(shù),終止標(biāo)志字符字所以第1處改為“cin.getline(str,120,?);第

2處的“while(str)”語(yǔ)句應(yīng)該是判斷字符串str中的每一個(gè)字符是否為結(jié)

束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否為小寫,若為小寫,

則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”°第3處的“if(str[i]>=a)”語(yǔ)句是

判斷字符str[i]是否為小寫字符,而現(xiàn)有的語(yǔ)句只是判斷字符是否大于a,

但是小寫字符應(yīng)該是a到2,所以修改為“if(str[i]>=a&&str[i]>=z)”。

42.(1)“voidmain”。

(2)“intm=0144;”。

(3)“intn=OX25;”或“intn===0x25;”。

【解析】本題主要考查了主函數(shù)定義及幕同進(jìn)制之間的轉(zhuǎn)換,包括十

進(jìn)制到八進(jìn)制,十進(jìn)制到十六進(jìn)制。主函數(shù)定義的定義形式為

“main”,函數(shù)名之后必須是一對(duì)括號(hào),因此第1處應(yīng)改為“voidmain”。

cout輸出默認(rèn)是以十進(jìn)制方式輸出的,根據(jù)題目要求輸出的結(jié)果可發(fā)

現(xiàn)變量的初值不正確,十進(jìn)制的100對(duì)應(yīng)八進(jìn)制的144,卡進(jìn)制的37

對(duì)應(yīng)十六進(jìn)制的25,因此2和3應(yīng)分別改成“intm=0144;”,

“intn=0x25;”或“intn=0x25;

43.(1)應(yīng)改為“TC::TC”。

3(2)應(yīng)改為"voidTC::display”。

\n(3)應(yīng)改為“TC::~TC”。

\n【解析】在類的外部定義成員函數(shù)時(shí),必須在成員函數(shù)前面加上類名

和作用域運(yùn)算符“二”,作用域運(yùn)算符用采表示某個(gè)成員屬于哪個(gè)類,使

用格式為“(類名)::〈成員函數(shù)〉((參數(shù)函數(shù))),因此第1處應(yīng)改為“TC::

TC”,默認(rèn)構(gòu)造函數(shù)沒有參數(shù)。由第2處“TC=display”后的語(yǔ)句看,這

是在類外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)誤問(wèn)題,display

函數(shù)返回值為void,因此第2處的語(yǔ)句應(yīng)改為“voidTC:display"。由第

3處的語(yǔ)句“TC::TC”可知,顯然這里是在類外實(shí)現(xiàn)析構(gòu)函數(shù),析構(gòu)函

數(shù)是一個(gè)特殊的函數(shù),它的名稱和類名相同,并在前面加“?”字符,用

采與構(gòu)造函數(shù)加以區(qū)別,因此第3處的語(yǔ)句應(yīng)改為“TC::?TC”。

44.⑴應(yīng)改為"catch(char*s)”。

⑵應(yīng)改為“cateh(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論