2022年江蘇省常州市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2022年江蘇省常州市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2022年江蘇省常州市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2022年江蘇省常州市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2022年江蘇省常州市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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年江蘇省常州市全國(guó)計(jì)算機(jī)等級(jí)考試C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、1.選擇題(10題)1.設(shè)有程序段intk=10;while(k=0)k=k-1;則下面描述中正確的是

A.循環(huán)執(zhí)行10次B.無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次

2.結(jié)構(gòu)化分析方法SA、結(jié)構(gòu)化設(shè)計(jì)方法SD,和JACKSON方法,是在軟件開發(fā)過(guò)程中常用的方法,人們使用SD方法時(shí)可以得到______。

A.程序流程圖B.具體的語(yǔ)言程序C.模塊結(jié)構(gòu)圖及模塊的功能說(shuō)明書D.分層數(shù)據(jù)流圖

3.非成員函數(shù)只有在聲明為(),才能訪問(wèn)這個(gè)類的所有private成員。

A.內(nèi)聯(lián)函數(shù)B.純虛函數(shù)C.重載函數(shù)D.友元函數(shù)

4.下列各類函數(shù)中,不是類的成員函數(shù)的是()。A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)

5.采用面向?qū)ο蠹夹g(shù)開發(fā)的應(yīng)用系統(tǒng)的特點(diǎn)是()。

A.重用性更強(qiáng)B.運(yùn)行速度更快C.占用存儲(chǔ)量小D.維護(hù)更復(fù)雜

6.控制格式輸入/輸出的操作中,設(shè)置域?qū)挼暮瘮?shù)是()。

A.WSB.octC.setfilt(int)D.setw(int)

7.下列各種函數(shù)中,______不是類的成員函數(shù)。

A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)

8.靜態(tài)成員函數(shù)沒(méi)有()。

A.返回值B.this指針C.指針參數(shù)D.返回類型

9.人們已經(jīng)提出了許多種類型的數(shù)據(jù)依賴,其中最重要的是函數(shù)依賴和()。

A.數(shù)據(jù)依賴B.多值依賴C.單值依賴D.數(shù)值依賴

10.設(shè)變量a是int型,f是double型,i是float型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型是

A.intB.floatC.doubleD.不確定

二、單選題(13題)11.考慮函數(shù)原型voidtest(inta,intb=7,charz=*),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()。

A.test(5);B.test(5,8);C.test(6,#);D.test(0,0,*);

12.有以下程序段

intk=0;

while(k=1)k++;

while循環(huán)執(zhí)行的次數(shù)是

A.無(wú)限次B.有語(yǔ)法錯(cuò),不能執(zhí)行C.一次也不執(zhí)行D.執(zhí)行1次

13.以下關(guān)鍵字不能用來(lái)聲明類的訪問(wèn)權(quán)限的是()。

A.publiCB.statiCC..proteCtedD.private

14.派生類的成員函數(shù)不能訪問(wèn)基類的()。

A.公有成員和保護(hù)成員B.公有成員C.私有成員D.保護(hù)成員

15.有如下模板聲明:templateclassA;下列聲明中,與上述聲明不等價(jià)的是()。

A.templateclassA;

B.templateclassA;

C.templateclassA;

D.templateclassA;

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

A.R-SB.R×SC.R∩SD.R∪S

17.在c++語(yǔ)言中,數(shù)據(jù)封裝要解決的問(wèn)題是()。

A.數(shù)據(jù)的規(guī)范化B.便于數(shù)據(jù)轉(zhuǎn)換C.避免數(shù)據(jù)丟失D.防止不同模塊之間數(shù)據(jù)的非法訪問(wèn)

18.下列敘述中正確的是()。

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說(shuō)法都不對(duì)

19.若有以下定義:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;則下列表達(dá)式中,結(jié)果為4的是()。

A.a[g-c]B.a[4]C.a['d'-'c']D.a['d'-c]

20.對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是

A.冒泡排序?yàn)閚/2B.冒泡排序?yàn)閚C.快速排序?yàn)閚D.快速排序?yàn)閚(n·1)/2

21.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是

A.循環(huán)隊(duì)列B.循環(huán)隊(duì)列C.二叉樹D.帶鏈棧

22.下面關(guān)于虛函數(shù)的表述中正確的是()。

A.虛函數(shù)不能聲明為另一個(gè)類的友元函數(shù)

B.派生類必須重新定義基類的虛函數(shù)

C.如果在重定義虛函數(shù)時(shí)使用了保留字virtual,那么該重定義函數(shù)仍是虛函數(shù)

D.虛函數(shù)不能夠聲明為靜態(tài)函數(shù)

23.已知語(yǔ)句intm=10;則下列表示引用的表示中正確的是

A.int&x=m;

B.int&y=10;

C.int&z;

D.float&t=&m;

三、2.填空題(12題)24.cerr與cout的差別在于:cerr是______重定向的,cerr不能被緩沖,它的輸出直接傳達(dá)到標(biāo)準(zhǔn)輸出設(shè)備上。

25.在下面橫線上填上適當(dāng)?shù)恼Z(yǔ)句,完成程序。

#include<iostream>

usingnamespacestd;

classBase

{

intx;

public:

Base(inti){x=i;}

~Base(){}

};

classDerived:publicBase

{

public:

____________//完成類Derive構(gòu)造函數(shù)的定義

}

26.下圖所示的二叉樹的先序遍歷序列是【】。

27.一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為【】。

28.在下面橫線上填上適當(dāng)?shù)恼Z(yǔ)句,完成程序。

#include<iostream>

usingnamespacestd;

classBase

{

intx;

public:

Base(inti){x=i;}

~Base(){}

};

classDerived:publicBase

{

public:

___________//完成類Derive構(gòu)造函數(shù)的定義

};

intmain()

{

DerivedObj;

return0;

}

在橫線處應(yīng)填入的語(yǔ)句是【】。

29.可以把具有相同屬性的一些不同對(duì)象歸類,稱為______。

30.如下程序的輸出結(jié)果是______。

#include<iostream>

usingnamespacestd;

classpumpkin{

public:

pumpkin(){++count;}

~pumpkin(){--eount;}

staticvoidtotal_count(){cout<<count<<"pumpkin(s)"<<endl;}

private:

staticintcount;

};

intpumpkin::count=0;

intmain(){

pumpkinpl[10];

pumpkin::total_count();

return0;

}

31.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。

32.根據(jù)注釋內(nèi)容在空白處填寫適當(dāng)內(nèi)容。

classLocation

{

private:

intX,Y;

public:

voidinit(intinitX,intinitY);

intGetX();

intGetY();

};

voidLocation::init(intinitX,intinitY)

{

X=initX;

Y=initY;

}

intLocation::GetX()

{

reutrnX;

}

intLocation::GetY()

{

reutrnY;

}

#include<iostream.h>

voidmain()

{

LocationA1;

A1.init(20,90);

______//定義一個(gè)指向A1的引用rA1

cout<<rAl.GetX()<<":"<<rAl.GetY()<<endl;

}

33.從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步來(lái)完成。首先是概要設(shè)計(jì),然后是【】。

34.在聲明派生類時(shí),如果不顯式地給出繼承方式,缺省的類繼承方式是私有繼承private。

已知有如下類定義:

classBase{

protected:

voidfun(){}

};

classDerived:Base{};

則Base類中的成員函數(shù)fun(),在Derived類中的訪問(wèn)權(quán)限是【】(注意:要求填寫private、protected或public中的一項(xiàng))。

35.數(shù)據(jù)庫(kù)的設(shè)計(jì)通??梢苑譃檫@樣4個(gè)步驟:需求分析、概念設(shè)計(jì)、【】和物理設(shè)計(jì)。

四、程序改錯(cuò)題(10題)36.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:

number=1

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);

//********error********

objl.number=10;

//********error*‰******

TC.SetNumber(100);

objl.Print;

obj2.Print;

}

37.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使該程序的輸出結(jié)果正確。程序輸出:88注意:錯(cuò)誤的語(yǔ)句在/********error********/的下面。修改該語(yǔ)句即可,其他的語(yǔ)句不能修改。試題程序:#include(iostream.h>classCO{public:/********error********/staticintn=0:CO{n++:}~CO{n--:}}:/********error********/intCO::n;voidmain{COobj;COobj2[7];CO*C=NULL:c=&obj:/********error********/eout<<C.n<<endl;cout<<C0::n<<endl;}38.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)catch必須拋出執(zhí)行的任何異常。

程序異常,輸出信息為

error

O

ERROR

注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

試題程序:

#include<iostream.h)

intmain

{

try

{

throw("error");

}

//********error********

catch(chars)

{

cout<<s<<endl;

}

try

{

throw((int)0);

}

//********error********

catch

{

cout<<i<<endl;

}

try

{

throw(O);

throw("error");

}

//********error********

catch

{

cout<<"ERROR"<<endl;

}

return0;

}39.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:number=1number=10number=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);//********error********objl.number=10;//********error*‰******TC.SetNumber(100);objl.Print;obj2.Print;}

40.使用VC++6.0打開考生文件夾下的源程序文件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=0;

charstr[120];

cout<<"Enterastringendwith?."<<endl;

//********error********

cin.getline(str,120);

//********error********

while(str)

{

//********error********

if(str[i])=a)

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

i++;

}

cout<<str<<endl;

return;

}

41.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為

Constructor,i=0,

Destructor

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

試題程序:

#include(iostream.h)

classTC

{

inti;

public:

TC;

voiddisplay;

~TC;

};

//******error******

TC:TC

{

cout<<"Constructor"<<",";

i=0;

)

//******error******

TC:display

{

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

}

//******error******

TC:TC

{

COUI<<"Destructor"<<endl:

}

voidmain

{

TCa;

a.display;

}

42.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)catch必須拋出執(zhí)行的任何異常。程序異常,輸出信息為errorOERROR注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。試題程序:#include<iostream.h)intmain{try{throw("error");}//********error********catch(chars){cout<<s<<endl;}try{throw((int)0);}//********error********catch{cout<<i<<endl;}try{throw(O);throw("error");}//********error********catch{cout<<"ERROR"<<endl;}return0;}

43.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,并使程序輸出的結(jié)果為:

sizeof(S1)=5

sizeof(s2)=10

sizeof(s3)=1

注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

(1)不能刪除assert()語(yǔ)句。

(2)只能修改后面的數(shù)字。

提示:assert函數(shù)如果為假,則會(huì)產(chǎn)生一個(gè)中斷異常。

試題程序:

#include<iostream.h>

#include<assert.h>

voidmain()

{

char*s1="abc":

//********error********

assert(sizeof(s1)==3):

cout<<"sizeof(s1)=5"<<endl;

chars2[10]="ab":

//********error********

assert(sizeof(s2)==2);

cout<<"sizeof(s2)=10"<<endl;

chars3=23:

//********error********

assert(sizeof(s3)==4);

cout<<"sizeof(s3)=1"<<endl;

return;

}

44.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為Constructor,i=0,Destructor注意:錯(cuò)誤的語(yǔ)句在//******error******的下面,修改該語(yǔ)句即可。試題程序:#include(iostream.h)classTC{inti;public:TC;voiddisplay;~TC;};//******error******TC:TC{cout<<"Constructor"<<",";i=0;)//******error******TC:display{tout<<"i="<<i<<","<<endl;}//******error******TC:TC{COUI<<"Destructor"<<endl:}voidmain{TCa;a.display;}

45.使用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

{

/********error********/

TC(inti)

{

m_i=i;

}

voidprint

{

cout<<--m_i<<,;

}

public:

intm_i;

};

intmain

{

/********error********/

inti;

TC04(10);

while(i>5)

{

/********errOr********/

i++:

04.print;

}

cout<<endl;

return0;

}

五、綜合應(yīng)用題(2題)46.使用VC++6.0打開考生文件夾下的源程序文件3.cpp。類People包括姓名和年齡兩個(gè)字段。函數(shù)fun獲得年齡比較大的人的姓名,然后輸出這個(gè)姓名到屏幕。其中定義的類并不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。(1)完成類的構(gòu)造函數(shù)功能,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。(2)完成構(gòu)造函數(shù)對(duì)姓名的賦值,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。(3)定義類的友元函數(shù)fun,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。(4)補(bǔ)充函數(shù)fun的年齡比較功能,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái),請(qǐng)不要修改其他的程序代碼。試題程序:#include<iostream.h>classPeople{public://********1********{inti;for(i=0;sUserName[i]!=0;i++){m_UserName[i]=sUserName[i];}//********2********m_Old=nOld;}private:charm_UserName[32];intm_Old;//********3********};voidfun(char*s,People&personl,People&person2{//********4********if{for(inti=0;personl.m_UserName[i]!=0;i++){s[i]=personl.m_UserName[i];s[i+1]=0;}}else{for(inti=0;person2.m_UserName[i]!=0;i++){s[i]=person2.m_UserName[i];s[i+1]=0;}}}voidmain{chars[32];Peoplepl("abc",20);Peoplep2("def",30):fun(S,p1,p2);cout<<s<<endl:return;}47.使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。每賣出一個(gè)水果,則計(jì)算水果的重量,還要計(jì)算所有賣出水果的總重量以及總個(gè)數(shù),同時(shí)允許退貨,請(qǐng)按照以下的操作,把類補(bǔ)充完整。(1)定義類TCFruit的私有靜態(tài)數(shù)據(jù)成員float型變量AllWeight和int型變量AllN0,請(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ǔ)句。(3)在析構(gòu)函數(shù)中,在AllWeight中減去weight,然后AllNo自減,請(qǐng)?jiān)谧⑨?后添加適當(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;//********1********staticintAllNo;public:TCFruit(floatw){//********2********AllWeight+=w:AllNo++:}~TCFruit{//********3********AllWeight-=Weight:}voiddisplay{cout<<"SellaFruitwith"<<Weight<<"k9"<<endl;cout<<”Allsellnumber:"<<AllNo<<endl;cout<<"Allsellweight:"<<AllWeight<<"k9"<<endl<<endl;}};//********4********floatTCFruit::AllWeight=0.0;intmain{TCFruitFruitl(1.2);Fruitl.display;TCFruitFruit2(2.3);Fruit2.display;return0;}六、3.綜合應(yīng)用題(2題)48.使用VC6打開考生文件夾下的工程test22_3,此工程包含一個(gè)源程序文件test22_3.cpp,其中定義了用于表示考生的類CStudent和它的派生類CGraduateStudent,但它們的定義并不完整。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。

(1)定義CStudent的構(gòu)造函數(shù),函數(shù)含參數(shù)nm,它是char型的指針數(shù)據(jù),請(qǐng)使用字符串函數(shù)將類數(shù)據(jù)成員name初始化。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(2)完成類CStudent的成員函數(shù)voidaddscore(doublesc)的定義,將類數(shù)據(jù)成員score加上參數(shù)sc,請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(3)添加類CGraduateStudent的成員函數(shù)voidaddpaper(intd)的定義,將int型的參數(shù)d的值加到類的數(shù)據(jù)成員paper上,請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(4)調(diào)用對(duì)象sdt的成員函數(shù)addpaper使得該考生的論文數(shù)量變?yōu)?0,將請(qǐng)?jiān)谧⑨尅?/**4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

輸出結(jié)果如下:

StudentHanson

(Advisor:MichaelPhong)

Totalpaperis10

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

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

#include<iostream.h>

#include<string.h>

classCStudent

{

private:

charname[30];

intcode;

doublescore;

public:

CStudent(char*nm)

{

//**1**

}

CStudent(){}

voidputname(char*nm){strcpy(name,nm);}

voidputcode(intd){code=d;}

voidputscore(doublesc){score=sc;}

voidgetname(char*nm){strcpy(nm,name);}

doublegetcode(){returncode;)

doublegetscore(){returnscore;}

voidaddscore(doublesc)

{

//**2**

}

};

classCGraduateStudent:publicCStudent

{

private:

charadvisor[30];

intpaper;

public:

voidputadvisor(char*nm){strcpy(advisor,nm);}

voidgetadvisor(char*nm){strcpy(nm,advisor);}

voidputpaper(intd){paper=d;}

//**3**

intgetpaper(){returnpaper;}

};

voidmain()

{

CGraduateStudentsdt;

sdt.putname("Hanson");

sdt.putadvisor("MichaelPhong");

sdt.putpaper(8);

//**4**

charcsname[30];

sdt.getname(csname);

charcaname[30];

sdt.getadvisor(caname);

cout<<"Student"<<csname<<endl;

cout<<"(Advisor:"<<caname<<")"<<endl;

cout<<"Totalpaperis"<<sdt.getpaper()<<endl;

}

49.使用VC6打開考生文件夾下的工程test28_3。此工程包含一個(gè)test28_3.cpp,其中定義了類Person,但該類的定義并不完整。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。

(1)定義類Person的私有數(shù)據(jù)成員forename、surname和money,forename和surname都是char型的指針數(shù)據(jù),money是double型的數(shù)據(jù)。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(2)完成類Person的帶三個(gè)參數(shù)的構(gòu)造函數(shù)Person(char*f,char*s,doublem),分別為forename和surname申請(qǐng)新的空間來(lái)存儲(chǔ)參數(shù)f和s指針指向的內(nèi)容,注意空間的大小,最后把參數(shù)m的值賦給money,請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(3)完成類Person的析構(gòu)函數(shù)的定義,把forename和surname指向的空間釋放,請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

(4)完成類Person的成員函數(shù)display的定義,使其以格式“fornamesurnamehasmoney”的形式輸出內(nèi)容,請(qǐng)?jiān)谧⑨尅?/**4*?!敝筇砑舆m當(dāng)?shù)恼Z(yǔ)句。

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

輸出結(jié)果如下:

RichardBerkhas1000.56

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

#include<iostream.h>

#include<string.h>

classPerson

{

private:

//**1**

doublemoney;

public:

Person(char*f,char*s,doublem);

~Person();

voiddisplay();

};

Person::Person(char*f,char*s,doublem)

{

//**2**

strcpy(forename,f);

surname=newchar[strlen(s)+1];

strcpy(surname,s);

money=m;

}

Person::-Person()

{

//**3**

}

voidPerson::display()

{

//**4**

}

voidmain()

{

Personp("Richard","Berk",1000.56);

p.display();

}

參考答案

1.C解析:本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒(méi)有執(zhí)行循環(huán)體語(yǔ)句。解答本題的關(guān)鍵是掌握while語(yǔ)句。

2.C

3.D解析:此屬考查的是非成員函數(shù)對(duì)類的成員的訪問(wèn)權(quán)限,非成員函數(shù)只有在聲明為類的友元函數(shù)才能訪問(wèn)這個(gè)類的所有private成員,否則是不能訪問(wèn)類的私有成員的。

4.C構(gòu)造函數(shù)包括默認(rèn)構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)等,析構(gòu)函數(shù)和構(gòu)造函數(shù)~樣屬于類的特殊的成員函數(shù)。而友元函數(shù)則是為了增加類的訪問(wèn)靈活行而允許其他類的成員函數(shù)或全局函數(shù)訪問(wèn)類的內(nèi)部變量或成員函數(shù)的一種機(jī)制,其缺點(diǎn)是破壞了類的封裝性。

5.A解析:使用面向?qū)ο蠓椒ㄩ_發(fā)的應(yīng)用系統(tǒng),強(qiáng)調(diào)封裝和復(fù)用。封裝隱藏信息,使得被封裝的模塊與外界的耦合度更低,更容易重用。軟件復(fù)用是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)??梢员粡?fù)用的軟件成分一般稱作可復(fù)用構(gòu)件,無(wú)論對(duì)可復(fù)用構(gòu)件原封不動(dòng)地使用還是作適當(dāng)?shù)男薷暮笤偈褂?,只要是用?lái)構(gòu)造新軟件,則都可稱作復(fù)用。面向?qū)ο蠓椒ㄖ蕴貏e有利于軟件復(fù)用,是由于它的主要概念及原則與軟件復(fù)用的要求十分吻合。面向?qū)ο蠓椒◤拿嫦驅(qū)ο蟮木幊贪l(fā)展到面向?qū)ο蟮姆治雠c設(shè)計(jì),使這種方法支持軟件復(fù)用的固有特征能夠從軟件生命周期的前期階段開始發(fā)揮作用,從而使OO方法對(duì)軟件復(fù)用的支持達(dá)到了較高的級(jí)別。與其他軟件工程方法相比,面向?qū)ο蠓椒ǖ囊粋€(gè)重要優(yōu)點(diǎn)是,它可以在整個(gè)軟件生命周期達(dá)到概念、原則、術(shù)語(yǔ)及表示法的高度一致。這種一致性使得各個(gè)系統(tǒng)成分盡管在不同的開發(fā)與演化階段有不同的形態(tài),但可具有貫穿整個(gè)軟件生命周期的良好映射。這一優(yōu)點(diǎn)使OO方法不但能在各個(gè)級(jí)別支持軟件復(fù)用,而且能對(duì)各個(gè)級(jí)別的復(fù)用形成統(tǒng)一的、高效的支持,達(dá)到良好的全局效果。綜上所述,選項(xiàng)A為本題正確答案。

6.D解析:本題需要考生記憶一些輸入輸出控制操作子,oct為八進(jìn)制,setfill為設(shè)置填充符,setw為設(shè)置域?qū)挕?/p>

7.C解析:構(gòu)造函數(shù)、析構(gòu)函數(shù)和拷貝構(gòu)造函數(shù)都是類的成員函數(shù)。

8.B

9.B解析:人們已經(jīng)提出了許多種類型的數(shù)據(jù)依賴,其中最重要的是函數(shù)依賴和多值依賴。

10.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。為保證精度的不丟失,表達(dá)式的數(shù)據(jù)類型是變量和常量中精確度最高的變量類型。

11.C解析:本題考核函數(shù)的調(diào)用。題中函數(shù)聲明帶有默認(rèn)參數(shù),那么在C)選項(xiàng)的調(diào)用中,將會(huì)把字符型實(shí)參#賦值給整型形參b,這不符合參數(shù)傳遞規(guī)則。

12.A解析:注意本題有個(gè)陷阱,馬虎的考生將紛紛落馬。本來(lái)、while中的表達(dá)式應(yīng)為k==1,而本題卻為k=1,是賦值表達(dá)式而不是邏輯表達(dá)式。因此,編譯器將其值一直認(rèn)為是1,因此表達(dá)式一直為真,陷入無(wú)限次的循環(huán)。

13.B解析:本題考查了類的訪問(wèn)權(quán)限。在C++中,類的訪問(wèn)權(quán)限一共有3種,分別是:\u3000public(公有)、protected(保護(hù))和private(私有)。因此,本題應(yīng)該選擇B。

14.C解析:本題考查的知識(shí)點(diǎn)是:派生類對(duì)基類成員的訪問(wèn)。派生類對(duì)基類中各成員的訪問(wèn)能力與繼承方式無(wú)關(guān),其成員不能訪問(wèn)基類中的私有成員,可以訪問(wèn)基類中的公有成員和保護(hù)成員。

15.DD?!窘馕觥磕0逍螀⒂衪ypename<參數(shù)名>、class<參數(shù)名>、<類型修飾><參數(shù)名>3種形式,即typename與class通用。

16.B解析:關(guān)系的交(∩)、并(∪)和差(-)運(yùn)算要求兩個(gè)關(guān)系是同元的,顯然作為二元的R和三元S只能做笛卡兒積運(yùn)算。

17.D

18.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本題選項(xiàng)A的說(shuō)法是正確的。

19.D

20.D解析:假設(shè)線性表的長(zhǎng)度為n,在最壞情況下,冒泡排序和快速排序需要的比較次數(shù)為n(n-1)/2。由此可見(jiàn),選項(xiàng)D正確。

21.C解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性結(jié)構(gòu)表示數(shù)據(jù)元素之間為一對(duì)一的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間為一對(duì)多或者多對(duì)一的關(guān)系。根據(jù)各種結(jié)構(gòu)的定義可知,二叉樹是一種非線性結(jié)構(gòu)。

22.D

23.A解析:引用比較特殊,即必須指向一個(gè)已有的同類型變量。引用是已有變量的別名,故選項(xiàng)\u3000C是錯(cuò)誤的,選項(xiàng)D中變量類型不同,而選項(xiàng)B中是常數(shù)。

24.不能不能

25.Derived(inti):Base(i){}Derived(inti):Base(i){}解析:程序中,類Derived是基類Base的公有派生。在類Derived的構(gòu)造函數(shù)應(yīng)該包括調(diào)用基類構(gòu)造函數(shù),使基類的數(shù)據(jù)成員得以初始化。

26.ABDGCEHIFABDGCEHIF解析:二叉樹的遍歷是很重要的知識(shí)點(diǎn),先序、中序、后序三種不同的方式要比較來(lái)掌握,注意其中的區(qū)別。此類題一定要先看清題目要求的是哪種遍歷方法,然后根據(jù)不同遍歷的特點(diǎn)來(lái)計(jì)算。本題要求是先序遍歷,其遍歷順序應(yīng)該為①訪問(wèn)根節(jié)點(diǎn):②先序遍歷左子樹;③先序遍歷右子樹。按照定義,先序遍歷序列是ABDGCEHIF。

27.32

28.Derived(inti):Base(i){}Derived(inti):Base(i){}解析:本題考核派生類中構(gòu)造函數(shù)。程序中,類Derived是基類Base的公有派生。在類Derived的構(gòu)造函數(shù)應(yīng)該包括調(diào)用基類構(gòu)造函數(shù)使基類的數(shù)據(jù)成員得以初始化。

29.對(duì)象類對(duì)象類

30.10pumpkin(s)10pumpkin(s)解析:在主函數(shù)中pumpkinpl[10];定義了一個(gè)有10個(gè)元素的對(duì)象數(shù)組,所以調(diào)用了10次構(gòu)造函數(shù),靜態(tài)數(shù)據(jù)成員court累加了10次,pumpkin::total_count();顯式調(diào)用類成員函數(shù),直接調(diào)用靜態(tài)成員函數(shù):total_count(),打印pumpkin(s)。

31.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)

32.Location&rA1=A1;Location&rA1=A1;解析:本題主要考察引用的定義。根據(jù)上下文以及注釋可以獲取所需要的類型及名稱信息。

33.詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)解析:本題屬于記憶題,從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步來(lái)完成。首先是概要設(shè)計(jì),然后是詳細(xì)設(shè)計(jì)。概要設(shè)計(jì),即總體設(shè)計(jì)。將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。詳細(xì)設(shè)計(jì),即過(guò)程設(shè)計(jì)。通過(guò)對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。

34.private

35.邏輯設(shè)計(jì)邏輯設(shè)計(jì)解析:本題考核數(shù)據(jù)庫(kù)設(shè)計(jì)的4個(gè)主要階段??忌枰斡洈?shù)據(jù)庫(kù)設(shè)計(jì)中的這4個(gè)階段,并會(huì)區(qū)分不同階段的功能。其中需求分析就是分析用戶的要求。概念設(shè)計(jì)就是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)及概念模型的過(guò)程。邏輯設(shè)計(jì)是在概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,將與數(shù)據(jù)庫(kù)管理系統(tǒng)無(wú)關(guān)的ER圖轉(zhuǎn)換成以數(shù)據(jù)庫(kù)管理系統(tǒng)的邏輯數(shù)據(jù)模型表示的邏輯模式。物理設(shè)計(jì)就是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程。

36.(1)應(yīng)改為“TCobjl(1);”。

\n(2)應(yīng)改為“0bj1.SetNumber(10);”。

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

\n【解析】本題第1處的“TCobjl;”語(yǔ)句是聲明TC類的對(duì)象0bj1,根據(jù)TC類構(gòu)造函數(shù)的定義TC(inti),存在整型參數(shù),并且題目要求第一個(gè)輸出結(jié)果兩1,所以補(bǔ)全參數(shù)1,即第1處的“TCobjl(1);”。第2處處的“objl.number=10;”應(yīng)該是調(diào)用成員函數(shù)SetNumber賦值。在C++中成員函數(shù)的使用形式應(yīng)該是:對(duì)象名.成員函數(shù),所以修改為“obj1.SetNumber(10);”。類是對(duì)象的抽象,而對(duì)象是類的具體實(shí)例。第3處“TC.SetNumber(100);”語(yǔ)句中的TC為類,并不是對(duì)象,這里應(yīng)該使用定義的對(duì)象,即obj2,所以將語(yǔ)句修改為“obj2.SetNumber(100);”。

37.(1)“staticintn=O”應(yīng)改為“staticintn;”。(2)“intCO::n;”應(yīng)改為“intCO::n=0;”。(3)“cout<<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;”。38.(1)應(yīng)改為“catch(char*s)”。(2)應(yīng)改為“cateh(inti)”。

(3)應(yīng)改為“catch(…)”。

【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw("error");”,其中的類型為字符串。所以對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類型,而程序中給出的語(yǔ)句“catch(chars)”是字符型的,所以第1處的語(yǔ)句修改為“catch(char*S)”。第2個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw((int)0);”,其中的類型為int。對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類型,所以補(bǔ)充catch子句中的類型,否則如果找不到匹配的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處的語(yǔ)句修改為“catch(inti)”。如果在catch子句中沒(méi)有指定異常信息的類型,那么就用刪節(jié)號(hào)“…”表示它可以捕捉任何類型的異常信息,即修改為“catch(…)”。39.(1)應(yīng)改為“TCobjl(1);”。(2)應(yīng)改為“0bj1.SetNumber(10);”。(3)應(yīng)改為“0bj2.SelNumber(100);”。【解析】本題第1處的“TCobjl;”語(yǔ)句是聲明TC類的對(duì)象0bj1,根據(jù)TC類構(gòu)造函數(shù)的定義TC(inti),存在整型參數(shù),并且題目要求第一個(gè)輸出結(jié)果兩1,所以補(bǔ)全參數(shù)1,即第1處的“TCobjl(1);”。第2處處的“objl.number=10;”應(yīng)該是調(diào)用成員函數(shù)SetNumber賦值。在C++中成員函數(shù)的使用形式應(yīng)該是:對(duì)象名.成員函數(shù),所以修改為“obj1.SetNumber(10);”。類是對(duì)象的抽象,而對(duì)象是類的具體實(shí)例。第3處“TC.SetNumber(100);”語(yǔ)句中的TC為類,并不是對(duì)象,這里應(yīng)該使用定義的對(duì)象,即obj2,所以將語(yǔ)句修改為“obj2.SetNumber(100);”。

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

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

\n(3)應(yīng)改為“if(str[i]>=a&&str[i]<=2)”。

\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)”。

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

\n(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ù)沒(méi)有參數(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”。

42.(1)應(yīng)改為“catch(char*s)”。(2)應(yīng)改為“cateh(inti)”。(3)應(yīng)改為“catch(…)”。【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw("error");”,其中的類型為字符串。所以對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類型,而程序中給出的語(yǔ)句“catch(chars)”是字符型的,所以第1處的語(yǔ)句修改為“catch(char*S)”。第2個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw((int)0);”,其中的類型為int。對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類型,所以補(bǔ)充catch子句中的類型,否則如果找不到匹配的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處的語(yǔ)句修改為“catch(inti)”。如果在catch子句中沒(méi)有指定異常信息的類型,那么就用刪節(jié)號(hào)“…”表示它可以捕捉任何類型的異常信息,即修改為“catch(…)”。

43.(1)應(yīng)改為“assert(sizeof(s1)==4);”。

\n(2)應(yīng)改為“assert(sizeof(s2)==1O);”。

\n(3)應(yīng)改為“assert(sizeof(s3)==1);”。

\n【解析】assert函數(shù)如果為假,則會(huì)產(chǎn)生一個(gè)中斷異常。所以要讓它正常執(zhí)行輸出結(jié)果,那么assert函數(shù)只有為真,才不會(huì)產(chǎn)生中斷異常?!癮ssert(sizeof(s1)==3);”語(yǔ)句中“sizeof(s1)==3”為假,這會(huì)使程序產(chǎn)生異常,不能正常執(zhí)行。因?yàn)閟tr1的值為abc,但是它還有一個(gè)尾符,它的長(zhǎng)度應(yīng)該是4,而不是3,所以在第1處修改為“assert(sizeof(s1)==4);”。str2[10]說(shuō)明,str2的空間為10,在第2處修改為“assert(sizeof(s2)==10);”。charstr3=23;語(yǔ)句說(shuō)明23是字符,所占存儲(chǔ)空間為1,所以修改為“assert(sizeof(s3)==1);”。

44.(1)應(yīng)改為“TC::TC”。(2)應(yīng)改為“voidTC::display”。(3)應(yīng)改為“TC::~TC”?!窘馕觥吭陬惖耐獠慷x成員函數(shù)時(shí),必須在成員函數(shù)前面加上類名和作用域運(yùn)算符“::”,作用域運(yùn)算符用采表示某個(gè)成員屬于哪個(gè)類,使用格式為“(類名)::<成員函數(shù)>((參數(shù)函數(shù))),因此第1處應(yīng)改為“TC::TC”,默認(rèn)構(gòu)造函數(shù)沒(méi)有參數(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”。

45.(1)應(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)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論