




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試
C++語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)
學(xué)校:班級(jí):姓名:考號(hào):
一、1.選擇題(10題)
I.重載輸入流運(yùn)算符<<必須使用的原型為()。
A.ostream&operator>>(ostream&,<類(lèi)名>);
B.istream&operator>>(istream&,<類(lèi)名>&);
C.ostreamoperator>>(ostream,〈類(lèi)名〉&);
D.<類(lèi)名〉operator>>(istream&,(類(lèi)名>&);
2.在關(guān)系模型中,
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
3.定義對(duì)象數(shù)組a⑵時(shí),要調(diào)用2次構(gòu)造函數(shù);生成*p的對(duì)象時(shí),要
調(diào)用一次構(gòu)造函數(shù),故答案為3。
A.使用虛基類(lèi)可以消除由多繼承產(chǎn)生的二義性
B.構(gòu)造派生類(lèi)對(duì)象時(shí),虛基類(lèi)的構(gòu)造函數(shù)只被調(diào)用一次
C.聲明“classBvirtualpublicA”說(shuō)明類(lèi)B為虛基類(lèi)
D.建立派生類(lèi)對(duì)象時(shí),首先調(diào)用虛基類(lèi)的函數(shù)
4.有以下程序:#include<iostream>usingnamespacestd;classR
{public:R(intrl,intr2){Rl=rl;R2=r2;}voidprint();voidprint()const;
private:intRl,R2;};voidR::print(){cout<<RI<<<<R2<
<endl;)voidR::print()const{cot<<RI<<'V'<<R2<<endI;}
intmain(){Ra(5,4);constRb(20,52);b.print();return0;}執(zhí)行
后的輸出結(jié)果是
A.5,4B.20,52C.0,0D.4,5
5.已知有定義constintD=5;inti=l;doublef=0.32;charc=15;
則下列選項(xiàng)錯(cuò)誤的是
A.++i,B.D—C.c++;D.--f
6.以下敘述正確的是()。
A.函數(shù)可以嵌套定義但不能嵌套調(diào)用
B.函數(shù)既可以嵌套調(diào)用也可以嵌套定義
C.函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用
D.函數(shù)可以嵌套調(diào)用但不可以嵌套定義
7.下列敘述中正確的是
A.黑箱(盒)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征
B.黑箱(盒)測(cè)試方法主要考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征
C.白箱(盒)測(cè)試不考慮程序內(nèi)部的邏輯結(jié)構(gòu)
D.上述三種說(shuō)法都不對(duì)
下列選項(xiàng)中,不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是
A)繼承性B)多態(tài)性
8.C)類(lèi)比性D)封裝性
9.有以下程序:#include<iostream.h>voidmain(){intx=5,y=2;cout
<<!(y==x/2)<<;cout<<y!=x%3)<<",";cout<<(x>0&&y
<0)<<;cout<<(x!=yIIx>=y)<<endl:)程序執(zhí)行后的輸出結(jié)
果是()
A.O,0,0,1B.l,1,11C.0,0,1,1D.l,1,0,0
10.在C++語(yǔ)言中,打開(kāi)一個(gè)文件就是將這個(gè)文件與一個(gè)什么建立關(guān)
聯(lián)?
A.流B.類(lèi)C.結(jié)構(gòu)D.對(duì)象
二、單選題(13題)
11.有如下程序:
#include<iostream>
usingnamespacestd;
intmain(){
intf,fl=0,f2=l
for(inti=3;i<=6;i++){
f=fltf2;
fl=f2:f2=f
cout?f?endl;
returnO:
)
運(yùn)行時(shí)的輸出結(jié)果是()。A.2B.3C.5D.8
12.有如下類(lèi)定義:
classPoint{
intx_,y_;
public:
Point。:xJO),y_(0){}
Point(intx,inty=0):x_(x),y_(y){}
};
若執(zhí)行語(yǔ)句Pointa(2),b[3],*c[4]:則Point類(lèi)的構(gòu)造函數(shù)被調(diào)用的
次數(shù)是
A.2次B.3次C.4次D.5次
13.將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為o
A.屬性B.鍵C關(guān)系D.域
14.已知chara;intb;floatC;doubled;則表達(dá)式a*b+c-d的結(jié)果為()0
A.doubleB.intC.floatD.char
15.有如下程序:
#include<iostream>
usingnamespacestd:
classPoint{
intx,y;
public:
Point(intxl=0,inty1=0)):X(XI),y(y1){}
intget(){retumx+y;)
};
classCircle{
Pointcenter}
intradius;
public:
Circle(intCX,intcy,intr):center(cx,cy),radius(r)
()
intget(){retumcenter.get()+radius;}
):
intmain(){
Circlec(3,4,5);
cout?c.get()?endl;
returnO;
)
運(yùn)行時(shí)的輸出結(jié)果是()oA.5B.7C.9D.12
16.下列程序的運(yùn)行結(jié)果是()。
#include<iostream.h>
classA
inta;
public:
A(){a=0;)
AO{intaa}
{a=aa;
cout?a++;
)
);
voidmain()
(
Ax,y(2),z(3);
cout?endl;
}
A.00B.23C.34D.25
17.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是_______,
A.棧B.樹(shù)C.隊(duì)列D.二叉樹(shù)
18.有下列程序:
#include<stdiO.h>
voidmain()
{intal?a2charcl,c2;
scanf("%d%c%d%C”,&al,&cl,&a2,&c2);
printf("%d%c%d%C”,al,cl,a2,c2);
若想通過(guò)鍵盤(pán)輸入,使得al的值為12,a2的值為34,cl的值為字符
a,c2的值為字符b,程序輸出結(jié)果是12,a,34.
h.財(cái)正?輸入格大后(以下一代表空唱?VCR>代去的
車(chē)乂).
A.12a34b<CR>
B.12—ai'b<CK-
C.12,a,34,b<CR>
D.I2;,34'tx.XLK-
19.有如下程序:
#include+
usingnamespacestd;
#include
usingnamespacestd;
classBase
(
public:
voidfun(){cout?,,Base::fun,'<
};
classDerived:publicBase
(
public:
voidfun()
(
cout?"Derived::fun"<
intmain()
(
Derivedd;
d.fun();
return0;
)
已知其執(zhí)行后的輸出結(jié)果為:
Base::fun
Derived::fun
則程序中下劃線處應(yīng)填入的語(yǔ)句是
A.Base.fun();B.Base::fun()C.Base->fun()D.fun();
20.程序設(shè)計(jì)語(yǔ)言的工程特性之一為()。
A.軟件的可重用性B.數(shù)據(jù)結(jié)構(gòu)的描述性C.抽象類(lèi)型的描述性D.數(shù)據(jù)
庫(kù)的易操作性
21.面關(guān)于類(lèi)的靜態(tài)成員,說(shuō)法正確的是o
A.類(lèi)的靜態(tài)成員函數(shù)只能訪問(wèn)類(lèi)的靜態(tài)數(shù)據(jù)成員
B.類(lèi)的靜態(tài)成員函數(shù)可直接訪問(wèn)類(lèi)的所以數(shù)據(jù)成員
C.類(lèi)的每個(gè)對(duì)象都有一份自己的靜態(tài)數(shù)據(jù)成員
D.靜態(tài)數(shù)據(jù)成員只能通過(guò)“類(lèi)名::”進(jìn)行訪問(wèn)
22.以下敘述正確的是()。
A.函數(shù)可以嵌套定義但不能嵌套調(diào)用
B.函數(shù)既可以嵌套調(diào)用也可以嵌套定義
C.函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用
D.函數(shù)可以嵌套調(diào)用但不可以嵌套定義
23.下列關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是()。
A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B.成員函數(shù)可以重載C.成員函數(shù)可以設(shè)
置參數(shù)的默認(rèn)值D.成員函數(shù)可以是靜態(tài)的
三、2.填空題(12題)
24.將x+y*z中的用成員函數(shù)重載,“”用友元函數(shù)重載應(yīng)寫(xiě)為【】。
25.為了表明一個(gè)函數(shù)不帶返回值,應(yīng)在定義函數(shù)時(shí)指定該函數(shù)類(lèi)型為
[]o
26.在C++流類(lèi)庫(kù)中,根基類(lèi)為o
27.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為o
28.數(shù)據(jù)模型按不同應(yīng)用層次分為3種類(lèi)型,它們是概念數(shù)據(jù)模型,【】
和物理數(shù)據(jù)模型。
29.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為【
30.程序的結(jié)果為o
#includeHiostream.h"
template<typenameT>
Ttotal(T*data)
Ts=0;
while(*data)
S+=*data++;
)
returnS;
)
intmain()
{intx[]={2,4,6,8,0,12,14,16,18};
cout<<total(x);
return0;
cout<<endl;}
31.閱讀下面程序:
#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='Af;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;
}
則該程序的輸出為【
32.類(lèi)中數(shù)據(jù)成員和成員函數(shù)的默認(rèn)類(lèi)型為o
33.頭文件【】中包含了處理用戶(hù)控制的文件操作所需的信息。
34.成本效益分析的目的是從【】角度評(píng)價(jià)開(kāi)發(fā)一個(gè)項(xiàng)目是否可行。
35.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是
種面向【】的設(shè)計(jì)方法。
四、程序改錯(cuò)題(10題)
36.使用VC++6.0打開(kāi)考生文件夾下的源程序文件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;
);
/小小小小4?小prrcr不不不不不不
TC:TC
cout?,^Constructor'^?'^,”
i=0;
)
/****不*error不不不不予不
TC:display
tout?"i=",?i?",n?endl;
7*7*7*7*
?門(mén)?門(mén)”門(mén)*rerror不不干不干不
TC:TC
COUI?"DestructorM?endl:
voidmain
TCa;
a.display;
)
37.使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行時(shí)有錯(cuò)誤,請(qǐng)改正程序中的錯(cuò)誤,使得程序輸出:
9,8,7,6,5
注意:錯(cuò)誤的語(yǔ)句在/********en*or********/的下面,修改該語(yǔ)句即
可。其他的語(yǔ)句不能修改。
試題程序:
#include(iostream.h>
classTC
*1**1**1**1**1**1*?£??£?
不不不不不不不不error不不不不不予予不
TC(inti)
m_i=i;
voidprint
cout?—m_i?,
public:
intm_i;
intmain
/?£??£??£??&??&??&?/
/不不不不不不不不prrcr不不不不不不不不/
inti;
TC04(10);
while(i>5)
I********en*Or********/
i++:
04.print;
)
cout?endl;
returnO;
38.使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序
運(yùn)行時(shí)有錯(cuò)。請(qǐng)改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為
100
37
32
注意:錯(cuò)誤的語(yǔ)句在//******error******的下面,修改該語(yǔ)句即
可。
試題程序:
#include<iostream.h>
/_>1*^1**1**1**1**1*
//不不不不不不error不不小不不不
voidmain
!?*??*??*??*?
//****^^pji*cr***不**
intm=0142:
II******error******
intn=0X27:
intq=32;
cout<<m<<endl;
cout<<n<<endl;
cout<<q<<endl;
return;
39.使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.叩p,該程序
運(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』;
1
voidSetNumber(intm)
number二m;
intGetNumberconst
returnnumber;
voidPrintconst
cout?"number="?number?endl;
private:
intnumber;
};
voidmain
//********ej*j*or********
TCobjl;
objl.Print;
TCobj2⑶;
/?>1?
//不不不不小小不小prrcr不不不不不不不不
objl.number=10;
//********error*%()******
TC.SetNumber(l00);
objl.Print;
obj2.Print;
40.使用VC++6.0打開(kāi)考生文件夾下的源程序文件
1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正程序中的錯(cuò)誤。本程序要求實(shí)現(xiàn)
的功能為從鍵盤(pán)輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語(yǔ)句在
!******error******F面。
試題程序:
#include<iostream>
#include<fstream>
usingstd;
voidWriteFile(char*s)
(
ofstreamout1;
outl.open("l.txt",binary|app);
for(inti=0;s[i]!=0;i++)
outl.puts(s[i]);
outl.close;
)
voidClearFile
(
ofstreamout1;
outl.open("l.txt");
outl.close;
)
intmain
(
chars[10241;
ClearFile;
cout?npleaseinputastrin9:u?endl;
cin.getline(s,1024);
WriteFile(s);
returnO;
)
41.使用VC++6.0打開(kāi)考生文件夾下的源程序文件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ǔ)句在//******en*or******的下面。
試題程序:
#include<iostream.h)
intmain
(
try
(
throw(nerror");
/不不冰冰冰冰小不error不不卻亭予亭卻不
catch(chars)
(
cout?s?endl;
)
try
(
throw((int)0);
I
II********error********
catch
(
cout?i?endl;
)
try
(
throw(O);
throw(Herrorn);
)
/*****不不*ermr*不**亭亭亭亭
catch
cout?nERRORH?cndl;
returnO;
)
42.使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,但該程
序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使該程序的輸出結(jié)果正
確。
程序輸出:
8
8
注意:錯(cuò)誤的語(yǔ)句在/********error********/的下面。修改該語(yǔ)句
即可,其他的語(yǔ)句不能修改。
試題程序:
#include(iostream.h>
classCO
(
public:
小小小小小小小小errcr不不不不不不不不/
staticintn=O:
CO
(
n++:
)
?CO
n—:
):
intCO::n;
voidmain
(
COobj;
COobj2⑺;
COCNULL:
c=&obj:
/汴*!*汴*1*舉*1*舉*1*舉*1*舉*1*舉舉Pimr?????????不????????????
eout?C.n?endl;
cout?C0::n?endl;
}
43.使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.叩p,該程序
運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)
catch必須拋出執(zhí)行的任何異常。
程序異常,輸出信息為
error
0
ERROR
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。
試題程序:
#include<iostream.h)
intmain
try
(
throw("error");
}
/*p*i**i**i**i**r*r*r不不不不不不不不
catch(chars)
(
cout?s?endl;
}
try
(
throw((int)0);
)
/不不不不不不不不error不不不不不不不不
catch
(
coul?i?endl:
)
try
(
throw(O);
throw("error");
catch
(
cout?nERRORn?endl;
)
returnO:
44.使用VC++6.0打開(kāi)考生文件夾下的源程序文件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;
I;
/年不小小不小error早亭亭不壽不
TC:TC
(
cout?nConstructorn?n,”;
i=0;
)
/*3*KI*KI>
//不不不不不不error不不不不不不
TC:display
tout?"i=n?i?n,n?endl;
/*1**1**1**1**1**1**£**4**£**1*?£?
//小小小小小小prmr不不不不不不
TC:TC
COUI?nDestructorM?endl:
)
voidmain
TCa;
a.display;
}
45.使用VC++6.0打開(kāi)考生文件夾下的源程序文件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?nnumber=H?number?endl;
)
private:
intnumber;
);
voidmain
//
//小小小小小小小小prrcr不不不不不不不不
TCobjl;
objl.Print;
TCobj2(3);
1*1**1**1*
//汴不不*r不不不不不不不不
objl.number=10;
II********ci*j*0|**(/o******
TC.SetNumber(lOO);
objl.Print;
obj2.Print;
)
五、綜合應(yīng)用題(2題)
46.使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。類(lèi)
People包括姓名和年齡兩個(gè)字段。函數(shù)fun獲得年齡比較大的人的姓
名,然后輸出這個(gè)姓名到屏幕。
其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完
整。
⑴完成類(lèi)的構(gòu)造函數(shù)功能,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
⑵完成構(gòu)造函數(shù)對(duì)姓名的賦值,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
⑶定義類(lèi)的友元函數(shù)fun,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
⑷補(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:
//f1I*!**.**.?*.?
inti;
for(i=0;sUserName[il!=O;i++)
{m_UserName[i]=sUserName[i];
/*1**1**1**1**1*
//木木木木木木小小2小小小小小小小小
m_Old=nOld;
private:
charm_UserName[32];
intm_01d;
!1********3********
};
voidfun(char*s,People&personl,People&person?
//********4********
if
for(inti=0;personl.m_UserName[i]!=0;i+
+)
s[i]=personl.m_UserName[i];
s[i+l]=0;
)
)
else
for(inti=0;pcrson2.m_UscrNamc[i]!=0;i+
+)
{s[i]=person2.m_UserName[i];
s[i+l]=O;
)
)
}
voidmain
(
chars132J;
Peoplepl("abcH,20);
Peoplep2("def,30):
fun(S,pl,p2);
cout?s?endl:
return;
)
47.使用VC++6.0打開(kāi)源程序文件3.cpp。其中類(lèi)TC用于把文件
輸出到屏幕,然后進(jìn)行文件的分割。分割的方法如下:第一個(gè)文件的
大小是文件的前一半,另外一個(gè)文件的大小是剩余部分。此程序?qū)?/p>
in.txt文件中的內(nèi)容輸出到
屏幕,并且將文件按照以上方式分割,存于文件outl.txt和out2.txt
中。
其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完
整。
⑴從輸入文件中獲得一個(gè)字符,并判斷是否到文件結(jié)
尾,如果到文件結(jié)尾,則退出循環(huán)。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
⑵把獲得的輸入文件的內(nèi)容存儲(chǔ)到bur中,并且用len
記錄下文件的長(zhǎng)度。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
⑶將輸入文件的后一半內(nèi)容存儲(chǔ)在第二個(gè)文件中,請(qǐng)
在注釋3后添加適當(dāng)?shù)恼Z(yǔ)句。
⑷使用文件流對(duì)象打開(kāi)輸入文件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;
/^1**1**1**1*^1*?1**1**1**1*
/f〃??[??[??[??[?f?I,?[??[?q,?[?
)
infile,close;
}
voidsplit
(
fstreamoutfilel;
fstreamoutfile2;
outfilel.open("outl.txt”,i:out);
outfilc2.open("out2.txt”,i:out);
inti=0:
for(i=0;i<len/2;i++)
outfilel?buf[i];
)
do
/*1**1**1**1*al**1**1*
//*7*rj*?卜rj?
while(i!=len);
outfilel.close;
outfile2.close;
prwate:
intlen;
charbuff1024];
);
voidmain
//********4********
TCobj;
obj.split;
return;
六、3.綜合應(yīng)用題(2題)
48.使用VC6打開(kāi)考生文什夾下的工程testl_3o此工程包含一個(gè)
testl_3.cpp,其中定義了類(lèi)circle和column,其中column類(lèi)由circle類(lèi)
protected派生,但兩個(gè)類(lèi)的定義并不完整。請(qǐng)按要求完成下列操作,將
程序補(bǔ)充完整。
⑴定義類(lèi)circle的保護(hù)數(shù)據(jù)成員r和area,它們都是double型的數(shù)據(jù)。
請(qǐng)?jiān)谧⑨尅啊?*1***之后添加適當(dāng)?shù)恼Z(yǔ)句。
⑵添加類(lèi)circle的無(wú)參數(shù)的構(gòu)造函數(shù),使circle對(duì)象的「默認(rèn)值為0,請(qǐng)
在汁釋“〃**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)添加派生類(lèi)column構(gòu)造函數(shù)的定義,傳入的參數(shù)為double型的height
和radius,并將具分別賦值給數(shù)僻成員h和基類(lèi)的r,請(qǐng)?jiān)谧⑨尅啊?*3**”
之后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)完成派生類(lèi)column的成員函數(shù)print的定義使其以格式"r__area-_”
先輸出半徑r和底面積area,再以格式“h=_vol=_?輸出高h(yuǎn)和體積vol
的值,請(qǐng)?jiān)谧⑨尅啊?*4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
輸山結(jié)果如下:
r=larea=3.1416
h=2vo1=6.2832
注意:除在指定的位置添加語(yǔ)句外,請(qǐng)不要改動(dòng)程序中的其他語(yǔ)句。
源程序文件lestl_3.cpp清單如下:
#include<iostream.h>
constdoublepi=3.1416;
classcircle
(
protected:
〃**?**
public:
circle(doubleradius){r=radius;}
voidprint()
(
area=r*r*pi;
cout<<,,r=n<<r<<"M<<',area=n<<ared<<endl;
classcolumn:protectedcircle
(
protected:
doubleh;
public:
〃**3**
voidprint()
(
〃**4**
)
};
voidmain()
(
columncol(1.0,2.0);
Col.print();
49.使用VC6打開(kāi)考生文件夾下的工程MyProjlO。此工程包含一個(gè)源程
序文件MyMainlO.cpp。程序中定義了兩個(gè)類(lèi)Base和Derived,但類(lèi)的
定義并不完整。
請(qǐng)按要求完成下列操作,將類(lèi)的定義補(bǔ)充完成:
①類(lèi)Derived是基類(lèi)Base公有派生來(lái)的。請(qǐng)?jiān)谧⑨尅啊?*1*”之后添加
適當(dāng)?shù)恼Z(yǔ)句。
②完成構(gòu)造函數(shù)Derived(inti)定義,采用初始化列表的方式使基類(lèi)Base
私有成員a初始化為i+1,類(lèi)Derived的私有成員b初始化為io請(qǐng)?jiān)谧?/p>
釋“〃**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
③完成類(lèi)Derived的成員函數(shù)show。的類(lèi)體外的定義。函數(shù)show。中要
顯式調(diào)用基類(lèi)的show。函數(shù),然后要輸出私有成員b的值。請(qǐng)?jiān)谧⑨尅啊?
*3**,,之后添加適當(dāng)?shù)恼Z(yǔ)句。
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序文件MyMainlO.cpp清單如下:
//MyMainlO.cpp
#include<iostream>
usingnamespacestd:
classBase
(
public:
Base(intx)
a=x
voidshow()
(
cout<<a;
)
private:
inta;
);
〃***]***
(
public:
〃***2***
voidshow();
private:
intb;
);
voidDerived::show()
(
〃***3***
)
intmain()
(
Derivedd(l),*pb;
pb=&d;
pb->show();
return0;
參考答案
1.A解析:本題考核運(yùn)算符的重載。C++中重載輸入流運(yùn)算符>〉和輸
出流運(yùn)算符<<只能作為非類(lèi)成員函數(shù)重載,且必須使用如下原形:
istream&operator>>(istream&,<類(lèi)名>&);
ostream&operator<<(ostream&,〈類(lèi)名>);
2.C解析:在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)
據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系,選項(xiàng)A錯(cuò)誤。對(duì)于表
示關(guān)系的二維表,其最基本的要求是,表中元組的每一個(gè)分量必須是不
可分的數(shù)據(jù)項(xiàng),即不允許表中再有表,選項(xiàng)B和D錯(cuò)誤。本題的正確
答案是C。
3.C解析:使用虛基類(lèi)的目的就是為了解決多繼承路徑下對(duì)基類(lèi)成員的
訪問(wèn)的二義性問(wèn)題。一旦繼承虛基類(lèi),那么在構(gòu)造派生類(lèi)對(duì)象時(shí),虛基
類(lèi)構(gòu)造函數(shù)就只調(diào)用一次。派生類(lèi)對(duì)象調(diào)用構(gòu)造函數(shù)和普通類(lèi)對(duì)象一樣.
都是先調(diào)用基類(lèi)構(gòu)造函數(shù),然后調(diào)用派生類(lèi)構(gòu)造函數(shù)。
4.B解析:使用const關(guān)鍵字修飾的對(duì)象成為常對(duì)象,題中對(duì)象b被聲
明為類(lèi)R的常對(duì)象。使用const關(guān)鍵字說(shuō)明的成員函數(shù)稱(chēng)為常成員函數(shù),
類(lèi)R中用const重載了函數(shù)print。。在使用常對(duì)象和常成員函數(shù)時(shí)應(yīng)注
意的是:const是函數(shù)類(lèi)型的一個(gè)組成部分,因此在部分也要帶const關(guān)
鍵字:常成員函數(shù)不能更新對(duì)象的數(shù)據(jù)成員,也不能調(diào)用該類(lèi)中沒(méi)有用
const修飾的成員函數(shù);如果將一個(gè)對(duì)象說(shuō)明為常對(duì)象,則通過(guò)該常對(duì)象
只能調(diào)用它的常成員函數(shù),不能調(diào)用其他的成員函數(shù);const關(guān)鍵字可以
參與區(qū)分重載函數(shù)。本題中,b為類(lèi)R的常對(duì)象,通過(guò)b只能調(diào)用類(lèi)R
的常成員函數(shù)print。輸出20,52。
5.B解析:"二'運(yùn)算符不能用于常量。
6.D解析:在C語(yǔ)言中,所有的函數(shù)都是平行的,即在定義函數(shù)時(shí)是互
相獨(dú)立的,一個(gè)函數(shù)并不從屬于另一個(gè)函數(shù),即函數(shù)不能嵌套定義,但
可以互相調(diào)用,但不能調(diào)用main函數(shù)。注意:函數(shù)不能嵌套定義,但
可以嵌套調(diào)用,故選項(xiàng)A)、B)和C)中的描述都錯(cuò)誤。
7.A解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只
是根據(jù)程序功能導(dǎo)出測(cè)試用例,選項(xiàng)A是正確的,選項(xiàng)B錯(cuò)誤。白箱
測(cè)試是根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例,選項(xiàng)C錯(cuò)誤。
正確答案為A。
8.C解析:面向?qū)ο蠓椒ň哂蟹庋b性、繼承性、多態(tài)性幾大特點(diǎn)。就是
這幾大特點(diǎn),為軟件開(kāi)發(fā)提供了一種新的方法學(xué)。封裝性:所謂封裝就
是將相關(guān)的信息、操作與處理融合在一個(gè)內(nèi)含的部件中(對(duì)象中)。它是
面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。繼承性:子類(lèi)具有派生它的類(lèi)的全部屬性(數(shù)
據(jù))和方法,而根據(jù)某一類(lèi)建立的對(duì)象也具有該類(lèi)的全部屬性(數(shù)據(jù))和方
法,這就是繼承性。繼承有利于提高軟件開(kāi)發(fā)效率,容易達(dá)到一致性。
多態(tài)性:多態(tài)性就是多種形式。不同的對(duì)象在接收到相同的消息時(shí),采
用不同的動(dòng)作。
9.A
10.A解析:C++的I/O系統(tǒng)是通過(guò)一種稱(chēng)為流的機(jī)制來(lái)實(shí)現(xiàn)文件和控
制臺(tái)的I/O操作的。簡(jiǎn)單地說(shuō),在C++中,輸入/輸出操作是通過(guò)流來(lái)
完成的O而文件流以磁盤(pán)文件及其他可按文件方式進(jìn)行管理的外部設(shè)備
為輸入/輸出對(duì)象。每個(gè)文件流都應(yīng)當(dāng)與一人打開(kāi)的文件相聯(lián)系;關(guān)閉一
個(gè)文件就是取消這種聯(lián)系。
11.CC?!窘馕觥垦h(huán)3次,分別每次計(jì)算出fl,已和f的值,該題比較
簡(jiǎn)單,只需要細(xì)心即可。
12.C
解析:本題考查的知識(shí)點(diǎn)是類(lèi)的構(gòu)造函數(shù)。構(gòu)造函數(shù)在對(duì)象被創(chuàng)建的
時(shí)候由系統(tǒng)自動(dòng)調(diào)用。在Point\u3000a(2),b[3],*c[4];語(yǔ)句中:a(2)
是定義一個(gè)對(duì)象并傳入構(gòu)造參數(shù)2,所以此時(shí)會(huì)調(diào)用1次構(gòu)造函數(shù):
b[3]是定義一個(gè)包含3個(gè)對(duì)象的數(shù)組,所以構(gòu)造函數(shù)會(huì)被調(diào)用3次;而
*c[4]定義的是一個(gè)包含4個(gè)Point類(lèi)對(duì)象指針的數(shù)組,它并沒(méi)有創(chuàng)建任
何Point對(duì)象,故構(gòu)造函數(shù)一次也不會(huì)被調(diào)用。故應(yīng)該選擇C。
13.C從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表
示成關(guān)系,E-\nR圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性。本題選擇C選
項(xiàng)。
14.A
Ao【解析】本題考查混合運(yùn)算表達(dá)式類(lèi)型,由表達(dá)式中具有最高優(yōu)先
級(jí)的類(lèi)型所確定,所以答案為A。
15.D
D。【解析】簡(jiǎn)單類(lèi)之間繼承關(guān)系的調(diào)用,按照通常做法便可以得到答
案。center.get函數(shù)調(diào)用后,3和4的和被返回,接著再調(diào)用Circle類(lèi)
的radius成員變量5相加后得到12。
16.B
Bo【解析】本題考查的是對(duì)構(gòu)造函數(shù)的掌握,另外++運(yùn)算符是右結(jié)
合的,所以在進(jìn)行輸出的時(shí)候都是先把原來(lái)的輸出后再自加lo
17.A棧支持子程序調(diào)用。棧是-種只能在-端進(jìn)行插入或刪除的線性表,
在主程序調(diào)用子函數(shù)時(shí)要首先保存主程序當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子
程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼
續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點(diǎn),因此本題的答案為A。
18.A
Ao【解析】從程序的輸入格式控制方法判斷,輸入時(shí)各變量之間沒(méi)有
分隔符,當(dāng)輸入相應(yīng)的變量對(duì)應(yīng)的值時(shí),相應(yīng)的變量能夠得到對(duì)應(yīng)的
值,可以輸出要求的結(jié)果。
19.B
20.A
21.A
22.D解析:在C語(yǔ)言中,所有的函數(shù)都是平行的,即在定義函數(shù)時(shí)是
互相獨(dú)立的,一個(gè)函數(shù)并不從屬于另一個(gè)函數(shù),即函數(shù)不能嵌套定義,
但可以互相調(diào)用,但不能調(diào)用main函數(shù)。注意:函數(shù)不能嵌套定義,
但可以嵌套調(diào)用,故選項(xiàng)A)、B)和C)中的描述都錯(cuò)誤。
23.A解析在C++中,成員函數(shù)可以是內(nèi)聯(lián)函數(shù),也可以是非內(nèi)聯(lián)函數(shù)。
在類(lèi)定義體內(nèi)定義和實(shí)現(xiàn)的函數(shù)都是內(nèi)聯(lián)函數(shù)。在類(lèi)定義體外實(shí)現(xiàn)的函
數(shù)可以通過(guò)在函數(shù)說(shuō)明和定義上分別加上inline來(lái)表示該函數(shù)是內(nèi)聯(lián)函
數(shù),否則就不是內(nèi)聯(lián)函數(shù)0
24.operator+(operator*(yz))operator+(operator*(y,z))解析:C++中用成員
函數(shù)重載x*y為:x.operator*(y),用友元函數(shù)重載x*y為:operator*(x,
y),用成員函數(shù)重載x+y為:x.operator+(y),用友元函數(shù)重載x+y為:
operator+(x,y)o
25.voidvoid解析:void表明該函數(shù)不帶返回值,如果沒(méi)有void,則系統(tǒng)
會(huì)返回一個(gè)默認(rèn)類(lèi)型的隨機(jī)值,這對(duì)程序可能造成不必要的問(wèn)題。
26.ios類(lèi)ios類(lèi)
27.程序調(diào)試程序調(diào)試
28.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)模型按不同的應(yīng)用層次分成
三種類(lèi)型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
29.繼承繼承解析:類(lèi)是面向?qū)ο笳Z(yǔ)言中必備的程序語(yǔ)言結(jié)構(gòu),用來(lái)實(shí)
現(xiàn)抽象數(shù)據(jù)類(lèi)型。類(lèi)與類(lèi)之間的繼承關(guān)系實(shí)現(xiàn)了類(lèi)之間的共享屬性和操
作,一個(gè)類(lèi)可以在另一個(gè)已定義的類(lèi)的基礎(chǔ)上定義,這樣使該類(lèi)型繼承
了其超類(lèi)的屬性和方法,當(dāng)然,也可以定義自己的屬性和方法。
30.20
31.ABBBBA
32.私有或private私有或private
33.fstream.h
34.經(jīng)濟(jì)經(jīng)濟(jì)
35.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:結(jié)構(gòu)化分析方法主要包括:面向數(shù)據(jù)流的
結(jié)構(gòu)化分析方法(SA—Stucturedanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法
(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)
據(jù)系統(tǒng)開(kāi)發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)o
36.(1)應(yīng)改為“TC::TC”。
\n⑵應(yīng)改為"voidTC::display”。
\n(3)應(yīng)改為“TC::~TC"°
\n【解析】在類(lèi)的外部定義成員函數(shù)時(shí),必須在成員函數(shù)前面加上類(lèi)名
和作用域運(yùn)算符“::作用域運(yùn)算符用采表示某個(gè)成員屬于哪個(gè)類(lèi),使
用格式為“(類(lèi)名)::〈成員函數(shù)〉((參數(shù)函數(shù))),因此第1處應(yīng)改為“TC::
TC;默認(rèn)構(gòu)造函數(shù)沒(méi)有參數(shù)。由第2處“TCrdisplay”后的語(yǔ)句看,這
是在類(lèi)外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)誤問(wèn)題,display
函數(shù)返回值為void,因此第2處的語(yǔ)句應(yīng)改為“voidTC=display"。由第
3處的語(yǔ)句"(:::11:”可知,顯然這里是在類(lèi)外實(shí)現(xiàn)析構(gòu)函數(shù),析構(gòu)函
數(shù)是一個(gè)特殊的函數(shù),它的名稱(chēng)和類(lèi)名相同,并在前面加“;’字符,用
采與構(gòu)造函數(shù)加以區(qū)別,因此第3處的語(yǔ)句應(yīng)改為“TC::~TC”。
37.(1)應(yīng)添加“public:
\n(2)“int『應(yīng)改為"inti(10);”。
\n(3)“i++;”應(yīng)改為“i??;
\n【解析】本題主要考查的是成員的訪問(wèn)屬性。成員的訪問(wèn)屬性有公有、
保護(hù)和私有3種,而默認(rèn)的訪問(wèn)屬性為私有,只有公有成員才能通過(guò)類(lèi)
的對(duì)象被訪問(wèn)。故應(yīng)在構(gòu)造函數(shù)前添加“public否則該類(lèi)無(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)為10o若循環(huán)中i每次增1,則
循環(huán)永遠(yuǎn)不會(huì)退出。
38.(l)“voidmain”。
(2)4tintm=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;
39.(1)應(yīng)改為"TCobjl(l);
(2)應(yīng)改為"ObjLSetNumber(lO):
(3)應(yīng)改為“0bj2.SelNumber(lOO);
【解析】本題第1處的叮Cobjl;”語(yǔ)句是聲明TC類(lèi)的對(duì)象Objl,根據(jù)
TC類(lèi)構(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);類(lèi)是對(duì)象的抽象,而對(duì)象是類(lèi)的具體實(shí)
例。第3處“TC.SetNumber(IOO);”語(yǔ)句中的TC為類(lèi),并不是對(duì)象,
這里應(yīng)該使用定義的對(duì)象,即。切2,所以將語(yǔ)句修改為
“obj2.SetNumber(lOO);
40.(1)應(yīng)改為"usingnamespacestd;
\n(2)應(yīng)改為"outl.open(1l.txt',ios::binary|ios::app);"。
\n(3)應(yīng)改為“outl.put(s[i]);”。
\n【解析】本題第1處的“usingstd;”是在程序中弓I入標(biāo)準(zhǔn)命名空間std,
對(duì)于C++中弓I入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1處
的語(yǔ)句修改為“usingnamespacestd;”o第2處,調(diào)用成員函數(shù)open中,
輸入、輸出方式是在ios類(lèi)中定義的,所以“out1.open,1.txt',binary|
叩p);“語(yǔ)句缺少類(lèi)ios,即第2處的語(yǔ)句修改為“outl.open。.txt]ios::
binary|ios::app);”。第3個(gè)標(biāo)識(shí)應(yīng)該用流成員函數(shù)put輸出字符,所
以第3處的語(yǔ)句修改為“outl.put(s[i]);”。
41.⑴應(yīng)改為“catch(char*s)”。
⑵應(yīng)改為“cateh(inti)”。
(3)應(yīng)改為"catch(…)”。
【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw("error");”,其
中的類(lèi)型為字符串。所以對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類(lèi)
型,而程序中給出的語(yǔ)句“catch(chars)”是字符型的,所以第1處的語(yǔ)
句修改為“catch(char*S)”。第2個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為
“throw((int)0);”,其中的類(lèi)型為int。對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)
該符合這個(gè)類(lèi)型,所以補(bǔ)充catch子句中的類(lèi)型,否則如果找不到匹配
的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處
的語(yǔ)句修改為“catch(inti)”。如果在catch子句中沒(méi)有指定異常信息的類(lèi)
型,那么就用刪節(jié)號(hào)“…”表示它可以捕捉任何類(lèi)型的異常信息,即修
改為“catchQ..)”。
42.(l)“staticintn=O”應(yīng)改為“staticintn;
(2fintC0::n;”應(yīng)改為“intCO::n=0;
(3)4tcout?c.n?endl;"應(yīng)改為"cout?c->n<vendl;"。
【解析】本題要在屏幕上輸出兩個(gè)字符,首先要靜態(tài)變量初始化,第1
處應(yīng)改為“staticintn;",第2處要給n賦值,第3處輸出時(shí)引用c的對(duì)
象,應(yīng)改為"coutv〈c->n<<endl;"。
43.(1)應(yīng)改為"catch(char*s)”。
⑵應(yīng)改為“cateh(inti)”。
(3)應(yīng)改為"catch(…)”。
【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw(”error");“,其
中的類(lèi)型為字符串。所以對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類(lèi)
型,而程序中給出的語(yǔ)句“catch(chars廣是字符型的,所以第1處的語(yǔ)
句修改為“catch(char*S)”。第2個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為
€4throw((int)0);",其中的類(lèi)型為int。對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)
該符合這個(gè)類(lèi)型,所以補(bǔ)充catch子句中的類(lèi)型,否則如果找不到匹配
的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處
的語(yǔ)句修改為“catch(inti)”。如果在catch子句中沒(méi)有指定異常信息的類(lèi)
型,那么就用刪節(jié)號(hào)"…''表示它可以捕捉任何類(lèi)型的異常信息,即修
改為“catch(…)”。
44.(1)應(yīng)改為“TC::TC”。
⑵應(yīng)改為“voidTC::display”。
(3)應(yīng)改為“TC::?TC”。
【解析】在類(lèi)的外部定義成員函數(shù)時(shí),必須在成員函數(shù)前面加上類(lèi)名
和作用域運(yùn)算符作用域運(yùn)算符用采表示某個(gè)成員屬于哪個(gè)
類(lèi),使用格式為“(類(lèi)名)::〈成員函數(shù)〉((參數(shù)函數(shù))),因此第1處應(yīng)改
為“TC::TC”,默認(rèn)構(gòu)造函數(shù)沒(méi)有參數(shù)。由第2處“TC::display”后
的語(yǔ)句看,這是在類(lèi)外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)
誤問(wèn)題,display函數(shù)返回值為void,因此第2處的語(yǔ)句應(yīng)改為
uvoidTC::display”。由第3處的語(yǔ)句“TC:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 22283-2025長(zhǎng)白豬種豬
- 2025年沈陽(yáng)大車(chē)貨運(yùn)資格證考試題
- 2025年貴陽(yáng)貨運(yùn)從業(yè)資格證考試模擬試題及答案大全解析
- 單位綠化樹(shù)木修剪合同范本
- 上水泥合同范本
- 冷庫(kù)設(shè)備租用合同范本
- 企業(yè)收款合同范本
- 協(xié)議客戶(hù)合同范本
- 公路項(xiàng)目總承包合同范本
- 制作樣冊(cè)合同范例
- 2024年南京旅游職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 《電商直播》 課件 項(xiàng)目一 走入電商直播
- 《中國(guó)宮腔鏡診斷與手術(shù)臨床實(shí)踐指南(2023版)》解讀課件
- 中藥學(xué)電子版教材
- GB/T 9535-1998地面用晶體硅光伏組件設(shè)計(jì)鑒定和定型
- 臥式設(shè)備安裝
- 橋梁施工危險(xiǎn)源辨識(shí)與防控措施
- CFG樁施工記錄表范本
- 在生產(chǎn)過(guò)程中物料流轉(zhuǎn)交接管理規(guī)定(清風(fēng)出品)
- 第1章操作系統(tǒng)引論
- 復(fù)旦校內(nèi)辦事指南
評(píng)論
0/150
提交評(píng)論