版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023年福建省廈門市全國計(jì)算機(jī)等級考試
C++語言程序設(shè)計(jì)模擬考試(含答案)
學(xué)校:班級:姓名:考號:
一、1.選擇題(10題)
1.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
2.有下列二叉樹,對此二叉樹中序遍歷的結(jié)果是
XT>
()。血向匚
A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE
3.C++中的類有兩種用法:一種是類的實(shí)例比,即生成類的對象,并參
與系統(tǒng)的運(yùn)行;另一種是通過()派生出新的類。
A.復(fù)用B.繼承C.封裝D.引用
4已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,
134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()o
A.lB.2C.3D.9
5.若有以下程序:#include<iostream>usingnamespacestd;class
TestClass{public:voidwho(){cout<<"TestClass"<<endl;}};class
TestClasskpublicTestClass{public:voidwho(){cout<<"TestClass1"<<
endl;}};intmain(){TestClass*p;TestClass1objl;P=&obj1;P->who();
return0;則該程序運(yùn)行后的輸出結(jié)果是()。
A.TestClasslB.TestClassC.OD.無輸出
6.棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧
中元素可以出棧,則出棧序列可能是()。
A.ABCEDB.DCBEAC.DBCEAD.CDABE
7.如果友元函數(shù)重載一個(gè)運(yùn)算符時(shí),其參數(shù)表中沒有任何參數(shù)則說明該
運(yùn)算符是
A.一元運(yùn)算符B.二元運(yùn)算符C.選項(xiàng)A)和選項(xiàng)B)都可能D.重載錯(cuò)
、口
慶
8.對于語句cout<<endl<<x;中的各個(gè)組成部分,下列敘述中錯(cuò)誤
的是()o
A.“cout”是一個(gè)輸出流對象B.“endl”的作用是輸出回車換行C."x”是一
個(gè)變量D“<<”稱作提取運(yùn)算符
9.下面關(guān)于繼承和派生的敘述中,正確的是()。
A.作為虛基類的類不能被實(shí)例化
B.派生類不能訪問基類中的保護(hù)成員
C.虛函數(shù)必須在派生類中重新實(shí)現(xiàn)
D.派生類向基類的構(gòu)造函數(shù)傳遞參數(shù)
10.在數(shù)據(jù)庫管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)
階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。
A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理
二、單選題(13題)
11.下面關(guān)于C++流的敘述中,正確的是()。
A.cin是一個(gè)輸入流對象
B.可以用ifstream定義一個(gè)輸出流對象
C.執(zhí)行語句序列char*y="PQMN";cout?y;將輸出字符串PQMN的地
址
D.執(zhí)行語句序列charx[80];cin.getline(x,80);時(shí),若輸入Happynewyear,
則X中的字符串是“Happy”
12.要建立文件流并打開當(dāng)前目錄下的文件61e.dat用于輸入,下列語句
中錯(cuò)誤的是()o
A.ifstreamfin=ffstream.open("file.dat");
B.ifstream*fin=newifstream(,,file.dat");
C.ifstreamfin;fin.open(,,file.dat");
D.ifstream*fin=newifstream;fin->open(,,file.dat");
13.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定
的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是
()o
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
14.以下類定義中可能會(huì)引起錯(cuò)誤的語句是()。
classA
(
public:
~A(){}//1
inti;//2
private:
intj;//3
A(inti){i++;}//4
};
A.lB.2C.3D.4
15.下列運(yùn)算符中哪些是不能夠被重載的?
A*_>*,???
B.++,new,delete,==
C.sizeof,new,delete,++,—
D.sizeof,new,delete,+,-
16.下面關(guān)于虛函數(shù)的描述,錯(cuò)誤的是()。
A.在成員函數(shù)聲明的前面加上virtual修飾,就可把該函數(shù)聲明為虛函數(shù)
B.基類中說明了虛函數(shù)后,派生類中對應(yīng)的函數(shù)也必須說明為虛數(shù)
C.虛函數(shù)可以是另一個(gè)類的友元函數(shù),但不能是靜態(tài)成員函數(shù)
D.基類中說明的純虛函數(shù)在其任何派生類中都必須實(shí)現(xiàn)
17.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是()
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
18.有如下類定義:
classFoo
(
public:
Foo(intv):value(v){}//①
?Foo(){}//②
private:
Foo(){}//③
intvalue=O;//④
};
其中存在語法錯(cuò)誤的行是()。
A.①B.②C.③D.④
19.下列運(yùn)算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是()。
A.intoperator—(FunNumber);
B.FunNumberoperator一;
C.FunNumberoperator—(int);
D.intoperator—(FunNumber,FunNumber);
20.下面敘述中錯(cuò)誤的是
A.軟件測試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤
B.對被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟
C程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性
21.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。
A.順序結(jié)構(gòu)B.GOTO跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
22.有三個(gè)關(guān)系R、S、T如下:
關(guān)系R和S和到關(guān)系T的操作是()。
A.自然連接B.差C.交D.并
23.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。
A排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序D.顯示、
打印、制表
三、2.填空題(12題)
24.程序流程圖中的菱形框表示o
25.[]是從二維表列的方向進(jìn)行的運(yùn)算。
26.若有函數(shù)fim(x,y),并且已經(jīng)使函數(shù)指針變量p指向函數(shù)fun,則使
用p調(diào)用函數(shù)fun的方法是o
27.是一種特殊的成員函數(shù),它主要用來為對象分配內(nèi)存空間,
對類的數(shù)據(jù)成員進(jìn)行初始化并執(zhí)行對象的其他內(nèi)部管理操作。
28.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國的M.Jackson提出的,它是一
種面向【】的設(shè)計(jì)方法。
29.以下程序的輸出結(jié)果是【】。
#include<iostream.h>
unsignedfrn(ullsignednum)
{unsi9nedk=l;
do{k*=num%10;num/=10;}while(num);
returnk;
I
s
voidmain()
{unsignedn=26;
cout<<fun(n)<<endl;
30.有如下定義:
classMA{
intvalue;
public:
MA(intn=0):value(n){}
};
MA*ta,tb;
其中MA類的對象名標(biāo)識符是°
31.已知intDBL(intn){returnn+n;}和longDBL(longn){returnn+n}是一
個(gè)函數(shù)模板的兩個(gè)實(shí)例,則該函數(shù)模板的定義是O
32.下面程序的輸出結(jié)果是【】。
#include<iostream>
usingnamespacestd;
intx;
voidfunA(int&,int);
voidfunB(int,int&);
intmain()
i
intfirst;
intsecond=5;
x=6;
funA(first,second);
funB(first,second);
cout<<first<<""<<second<<""<<x<<end1;
return0;
I
s
voidfiinA(int&a,intb)
(
intfirst;
first=a+b;
a=2*b;
b=first+4;
}
voidfunB(intu,int&v)
{
intsecond;
second=x;
v=second+4;
x=u+v;
33.C++中封裝性、繼承性和【】是面向?qū)ο笏枷氲闹饕卣鳌?/p>
34.下列程序的執(zhí)行結(jié)果是【】。
#include<iostream.h>
classMyclass
(
public:
voidGetSum(inta)
staticintSum:
private:
intA;
};
intMyclass::Sum=10;//必須在類外部對靜態(tài)數(shù)據(jù)成員初始化
voidMyelass::GetSum(inta)
(
A=a;
Sum+=A;
}
voidPrintSum(Myclass&A)
{
cout<<"Sum="<<A.Sum<<endl;
voidmain()
(
MyclassM,N;
M.GetSum(3)
N.GetSum(7)
PrintSum(M);
35.在面向?qū)ο蠓椒ㄖ校瑢傩耘c操作相似的一組對象稱為【】。
四、程序改錯(cuò)題(10題)
36.使用VC++6.0打開考生文件夾下的源程序文件1.cpp。本程序
要求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可
能輸入多行,當(dāng)輸入字符“?”時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出
到屏幕中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******errc)r******的下面。
試題程序:
#include<iostream.h>
voidmain
(
inti=O;
charstr[120];
cout?"Enterastringendwith?."?endl;
Ii********enor********
cin.getline(str,120);
I!********error********
while(str)
1I********error********
if(str[i])=a)
str[i]=str[i]-a+A;
i++;
)
cout?str?endl;
return;
37.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤,使得程序輸出:
9,8,7,6,5
注意:錯(cuò)誤的語句在/********error********/的下面,修改該語句即
可。其他的語句不能修改。
試題程序:
#include(iostream.h>
classTC
!********error********/
TC(inti)
m_i=i;
voidprint
cout?—mi?,
public:
intm_i;
intmain
!********error********/
inti;
TC04(10);
while(i>5)
!********errOr********/
i++:
04.print;
f
cout?endl;
returnO;
38.使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序
運(yùn)行有問題,請改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:
number=1
number=10
number=100
注意:不要改動(dòng)main函數(shù),不能增加或刪除行。也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******e"or******的下面。
試題程序:
#include<iostream.h>
classTC
public:
TC(inti)
{
number=i;
)
voidSetNumber(intm)
(
number=m;
)
intGetNumberconst
(
returnnumber;
)
voidPrintconst
(
cout?"number="?number?endl;
}
private:
intnumber;
};
voidmain
(
II********error********
TCobjl;
objl.Print;
TCobj2(3);
!1********enor********
objl.number=10;
Ii********error*%()******
TC.SetNumber(lOO);
objl.Print;
obj2.Print;
)
39.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行時(shí)有錯(cuò),請改正其中的錯(cuò)誤,使程序正常運(yùn)行,并使程序輸出的結(jié)果
為:
sizeoRSl)=5
sizeof(s2)=10
sizeof(s3)=l
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******error******的下面。
⑴不能刪除assert()語句。
(2)只能修改后面的數(shù)字。
提示:assert函數(shù)如果為假,則會(huì)產(chǎn)生一個(gè)中斷異常。
試題程序:
#include<iostream.h>
#include<assert.h>
voidmain()
char*sl="abc":
II********error********
assert(sizeof(s1)-3):
cout?"sizeof(s1)=5"?endl;
chars2[10]="ab":
II不***¥***enor********
assert(sizeof(s2)=2);
cout?"sizeof(s2)=10"?endl;
chars3=23:
II¥*******error********
assert(sizeof(s3)=4);
cout?"sizeof(s3)=r'?endl;
return;
)
40.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序
運(yùn)行時(shí)有錯(cuò)。請改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為
100
37
32
注意:錯(cuò)誤的語句在//******errc)r******的下面,修改該語句即
可。
試題程序:
#include<iostream.h>
voidmain
II******error******
intm=0142:
!i******enor******
intn=0X27:
intq=32;
cout<<m<<endl;
cout<<n<<endl;
cout<<q<<endl;
return;
41.使用VC++6.0打開考生文件夾下的源程序文件
1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤。本程序要求實(shí)現(xiàn)
的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在
II******ej*i*0i*******白勺卜?白?
試題程序:
#include<iostream>
#include<fstream>
!1********ej*j*0j*********
usingstd;
voidWriteFile(char*s)
ofstreamout1;
!1****************
outl.open("l.txt",binary|app);
for(inti=0;s[i]!=0;i++)
II********error********
outl.puts(s[i]);
outl.close;
voidClearFile
ofstreamout1;
outl.open("l.txt");
outl.close;
intmain
(
chars[1024];
ClearFile;
cout?"pleaseinputastrin9:"?endl;
cin.getline(s,1024);
WriteFile(s);
retumO;
42.使用VC++6.0打開考生文件夾下的源程序文件
1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤。本程序要求實(shí)
現(xiàn)的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在
II******en*or******的下面。
試題程序:
#include<iostream>
#include<fstream>
II********error********
usingstd;
voidWriteFile(char*s)
ofstreamout1;
!!********enor********
outl.open("l.txt",binary|app);
for(inti=0;s[i]!=0;i++)
II********error********
outl.puts(s[i]);
)
outl.close;
)
voidClearFile
ofstreamout1;
outl.open("l.txt");
outl.close;
)
intmain
(
chars[1024];
ClearFile;
cout?"pleaseinputastrin9:"?endl;
cin.getline(s,1024);
WriteFile(s);
returnO;
)
43.使用VC++6.0打開考生文件夾下的源程序文件1.cppo本程序要
求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可能輸
入多行,當(dāng)輸入字符“?”時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出到屏幕
中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******error******的下面。
試題程序:
#include<iostream.h>
voidmain
(
inti=0;
charstrfl20];
cout?"Enterastringendwith?."?endl;
I!********eiror********
cin.getline(str,120);
I!********error********
while(str)
!1********ej*j*0j*********
if(str[i])=a)
str[i]=str[i]-a+A;
i++;
cout?str?endl;
return;
44.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行有問題,請改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:
number=l
number=10
number=100
注意:不要改動(dòng)main函數(shù),不能增加或刪除行。也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******error******的下面。
試題程序:
#include<iostream.h>
classTC
public:
TC(inti)
number=i;
}
voidSetNumber(intm)
(
number=m;
)
intGetNumberconst
(
retumnumber;
}
voidPrintconst
(
cout?"number="?number?endl;
}
private:
intnumber;
};
voidmain
I!********erroi*********
TCobjl;
objl.Print;
TCobj2⑶;
!1****************
objl.number=10;
!1*************
TC.SetNumber(100);
objl.Print;
obj2.Print;
}
45.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行時(shí)有錯(cuò),請改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為
Constructor,i=0,
Destructor
注意:錯(cuò)誤的語句在//******error******的下面,修改該語句即可。
試題程序:
#include(iostream.h)
classTC
(
inti;
public:
TC;
voiddisplay;
-TC;
};
II******ej*j*0j*******
TC:TC
(
cout?"Constructor"?",";
i=0;
)
******error******
TC:display
(
toutvv"i="vvivv",n?endl;
II******error******
TC:TC
{
COUI?"Destructor"?endl:
}
voidmain
(
TCa;
a.display;
}
五、綜合應(yīng)用題(2題)
46.使用VC++6.0打開源程序文件3.cpp。其中類TC用于把文件
輸出到屏幕,然后進(jìn)行文件的分割。分割的方法如下:第一個(gè)文件的
大小是文件的前一半,另外一個(gè)文件的大小是剩余部分。此程序?qū)?/p>
in.txt文件中的內(nèi)容輸出到
屏幕,并且將文件按照以上方式分割,存于文件outl.txt和out2.txt
中。
其中定義的類并不完整,按要求完成下列操作,將類的定義補(bǔ)充完
整。
(1)從輸入文件中獲得一個(gè)字符,并判斷是否到文件結(jié)
尾,如果到文件結(jié)尾,則退出循環(huán)。請?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
⑵把獲得的輸入文件的內(nèi)容存儲到bur中,并且用len
記錄下文件的長度。請?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(3)將輸入文件的后一半內(nèi)容存儲在第二個(gè)文件中,請
在注釋3后添加適當(dāng)?shù)恼Z句。
(4)使用文件流對象打開輸入文件in.txt,請?jiān)谧⑨?
后添加適當(dāng)?shù)恼Z句。
注意:增加代碼或者修改代碼的位置已經(jī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;
Ii********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
(
)
while(i!=len);
outfilel.close;
outfile2.close;
)
prwate:
intlen;
charbuf[1024];
);
voidmain
(
//********4********
TCobj;
obj.split;
return;
)
47.使用VC++6.0打開考生文件夾下的源程序文件3.cpp。類
People包括姓名和年齡兩個(gè)字段。函數(shù)fun獲得年齡比較大的人的姓
名,然后輸出這個(gè)姓名到屏幕。
其中定義的類并不完整,按要求完成下列操作,將類的定義補(bǔ)充完
整。
⑴完成類的構(gòu)造函數(shù)功能,請?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(2)完成構(gòu)造函數(shù)對姓名的賦值,請?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(3)定義類的友元函數(shù)fun,請?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
(4)補(bǔ)充函數(shù)fun的年齡比較功能,請?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。
注意:增加或者修改代碼的位置已經(jīng)用符號表示出來,請不要修改其
他的程序代碼。
試題程序:
#include<iostream.h>
classPeople
(
public:
II********]********
(
inti;
for(i=0;sUserName[i]!=O;i++)
{m_UserName[i]=sUserName[i];
)
//********2********
m_Old=nOld;
)
private:
charm_UserName[32];
intm_01d;
};
voidfun(char*s,People&personl,People&person2
(
II********4********
if
(
for(inti=0;personl.m_UserName[i]!=O;i+
+)
s[i]=personl.m_UserName[i];
s[i+l]=O;
)
)
else
{
for(inti=0;person?.m_UserName[i]!=0;i+
+)
{s[i]=person2.m_UserName[i];
s[i+l]=0;
)
)
)
voidmain
(
chars[32];
Peoplepl("abc",20);
Peoplep2("def,30):
fun(S,pl,p2);
cout?s?endl:
return;
)
六、3.綜合應(yīng)用題(2題)
48.使用VC6打開考生文件夾下的工程test36_30此工程包含一個(gè)
test36_3.cpp,其中定義了類CRectangle,但該類的定義并不完整。請按
要求完成下列操作,將程序補(bǔ)充完整。
⑴定義類CRectangle的數(shù)據(jù)成員width和height,它們都是int型的數(shù)
據(jù)。請?jiān)谧⑨尅啊?*1**”之后添加適當(dāng)?shù)恼Z句。
⑵添加類CRectangle的友元函數(shù)duplicate。的聲明,其返回值類型和參
數(shù)類型均為Crectangle的,請?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z句。
(3)完成類Crectangle的成員函數(shù)set_values的定義,把傳入的參數(shù)a和
b分別賦值為數(shù)據(jù)成員width和height,請?jiān)谧⑨尅啊?*3**”之后添加適
當(dāng)?shù)恼Z句。
(4)完成派生類Crectangle的友元函數(shù)duplicate的定義,把函數(shù)中的臨時(shí)
對象rectres的值返回主函數(shù),請?jiān)谧⑨尅?/**4**”之后添加適當(dāng)?shù)恼Z句。
注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。
源程序文件test36_3.cpp清單如下:
#include<iostream.h>
classCRectangle
(
//**]**
public:
voidset_values(int,int);
intarea(void){return(width*height);}
〃**2**
);
voidCRectangle::set_values(inta,intb)
(
//**3**
/
CRectangleduplicate(CRectanglerectparam)
(
CRectanglerectres;
rectres.width=rectparam.width*2;
rectres.height=rectparam.height*2;
H**4**
voidmain()
(
CRectanglerect,rectb;
rect.set_values(2,3);
rectb-duplicate(rect);
cout<<rectb.area()<<end1;
)
49.使用VC6打開考生文件夾下的工程MyProj2。此工程包含一個(gè)源程
序文件MyMain2.cpp,此程序的運(yùn)行結(jié)果為:
Derivel'sPrint()Called.
Derive2'sPrint()called.
其中定義的類并不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。
①定義函數(shù)Print。為無值型純虛函數(shù)。請?jiān)谧⑨尅啊?*1**”之后添加適當(dāng)
的語句。
②建立類Derivel的構(gòu)造函數(shù),請?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z句。
③完成類Derive2成員函數(shù)Print。的定義。請?jiān)谧⑨尅啊?*3**”之后添加
適當(dāng)?shù)恼Z句。
④定義類Derivel的對象指針dl,類Derive2的對象指針d2。其初始化
值分別為1和2。
源程序文件MyMain2.叩p中的程序清單如下:
//MyMain2.cpp
#include<iostream>
usingnamespacestd;
classBase
(
public:
Base(inti)
(
b=i;
}
〃**]**
protected:
intb;
};
classDerivel:publicBase
(
public:
〃**2**
voidprint()
(
cout<<"Derivel'sPrint()called."<<endl;
classDerive2:publicBase
(
public:
Derive2(inti):Base(i){}
〃**3**
);
voidfun(Base*obj)
(
obj->Print();
}
intmain()
{
〃**4**
fun(dl);
fun(d2);
return0;
參考答案
l.B
解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)。內(nèi)聚性是一個(gè)
模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計(jì)
的設(shè)計(jì)原則,要求每個(gè)模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指
模塊間相互連接的緊密程度的度量,一個(gè)模塊與其他模塊的耦合性越
強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、
低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提
高模塊的獨(dú)立性。
2.BBO【解析】對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問
根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左、右子樹時(shí),注意依舊按照“左子樹
一根結(jié)點(diǎn)一右子樹”的順序。
3.B
4.B
B?!窘馕觥扛鶕?jù)二分法查找法需要兩次:(1)首先將90與表中間的元
素50進(jìn)行比較,由于90大于50,所以性表的后半部分查找。(2)第二
次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找
成功。
5.B
6.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、
C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)
棧。所以出棧時(shí)一定是先出D,再出C,最后出A。
7.D解析:C++中用友元函數(shù)重載運(yùn)算符至少有一個(gè)參數(shù),重載一目運(yùn)
算符要有一個(gè)參數(shù),重載二目運(yùn)算符要有兩個(gè)參數(shù)。
8.D
9.A派生類可以訪問基類中的保護(hù)成員和公有成員。當(dāng)基類有默認(rèn)構(gòu)造
函數(shù)時(shí),派生類可以不向基類傳遞參數(shù).商接調(diào)用派生類的默認(rèn)構(gòu)造函
數(shù),而純虛函數(shù)要在非抽象的子類中實(shí)現(xiàn),虛基類不能被實(shí)例化。
10.A解析:文件系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的初級階段,提供了簡單的數(shù)據(jù)共享
與數(shù)據(jù)管理能力,其功能簡單,附屬于操作系統(tǒng)而不成為獨(dú)立的軟件,
只能看作是數(shù)據(jù)庫系統(tǒng)的雛形;人工管理主要用于科學(xué)計(jì)算,硬件無磁
盤,直接存取,軟件沒有操作系統(tǒng);數(shù)據(jù)庫管理系統(tǒng)是從這兩個(gè)階段發(fā)
展而宋的,其數(shù)據(jù)獨(dú)立性必然更高。因此,答案為A。
11.A
Ao本題考查C++流的溉念和I/O的格式化。tin是istream類的對
象,即輸入流對象。ifstream是輸入文件流,類不能定義個(gè)輸出流對
象。getline函數(shù)的功能是允許從輸入流中讀取多個(gè)字符,并且允許指
定輸入終止,在讀取完成后,從讀取的內(nèi)容中刪除該終止字符,所以
D選項(xiàng)中的語句序列后x中字符串應(yīng)該是Happynewyearo
12.A
本題考查對文件流輸入的操作,可以調(diào)用文件流的成員函數(shù)pen,一般
形式如下:文件流對象.Open(磁盤文件名,輸入/輸出方式)。根據(jù)以
上格式,可以判斷A選項(xiàng)錯(cuò)誤。
13.A解析:數(shù)據(jù)流圖包括4個(gè)方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變
換產(chǎn)生輸出)、數(shù)據(jù)流CG箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)
據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、
源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體)。不包括選項(xiàng)中的
控制流。
14.D
Do【解析】本題考查關(guān)于C++語言類的定義方法。在C++語言中
類定義中的構(gòu)造函數(shù)是私有的,但是卻調(diào)用了其中的公有變量,在實(shí)
例化時(shí)會(huì)斟現(xiàn)錯(cuò)誤。
15.A
16.B
基類中說明的虛函數(shù),在派生類中自然就是虛函數(shù),對于純虛函數(shù)必
須在后面繼承的派生類中給出具體的實(shí)現(xiàn);靜態(tài)成員函數(shù)不能進(jìn)行動(dòng)
態(tài)聯(lián)編,所以虛函數(shù)不能是靜態(tài)的。
17.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插
入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧
頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元
素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按
照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的
原則是“先進(jìn)先出”或“后進(jìn)后出注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)
據(jù)的原則。
18.D
解析:本題考查了類的定義。C++語言規(guī)定,在類體中不允許對所定
義的數(shù)據(jù)成員進(jìn)行初始化。故本題應(yīng)該選擇D。
19.D
本題考查運(yùn)算符重載的一些規(guī)則:①一般情況下,單目運(yùn)算符最好重
載為類的成員函數(shù),雙目運(yùn)算符則最好重載為類的友元函數(shù);②雙目
運(yùn)算符=、、小->不能重載為類的友元函數(shù);③類型轉(zhuǎn)換函數(shù)只能定
義為一個(gè)類的成員函數(shù),而不能定義為類的友元函數(shù);④若一個(gè)運(yùn)算
符的操作需要修改對象的狀態(tài),選擇重載為成員函數(shù)較好;⑤若運(yùn)算
符所需的操作數(shù)(尤其是第一個(gè)操作數(shù))希望有隱式類型轉(zhuǎn)換,則只能選
用友元函數(shù);⑥當(dāng)運(yùn)算符函數(shù)是一個(gè)成員函數(shù)時(shí),最左邊的操作數(shù)(或
者只有最左邊的操作數(shù))必須是運(yùn)算符類的一個(gè)類對象(或者是對該類對
象的引用);如果左邊的操作數(shù)必須是一個(gè)不同類的對象,或者是一個(gè)
內(nèi)部類型的對象,該運(yùn)算符函數(shù)必須作為一個(gè)友元函數(shù)來實(shí)現(xiàn)。所以
答案為D。
20.A軟件測試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,并不涉及改正
錯(cuò)誤,所以選項(xiàng)A錯(cuò)誤。程序調(diào)試的基本步驟有:錯(cuò)誤定位、修改設(shè)計(jì)
和代碼,以排除錯(cuò)誤、進(jìn)行回歸測試,防止引進(jìn)新的錯(cuò)誤。程序調(diào)試通
常稱為Debug,即排錯(cuò)。軟件測試的基本準(zhǔn)則有:所有測試都應(yīng)追溯到需
求、嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性、充分注意測試中的群集現(xiàn)
象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計(jì)
劃等文件。故答案為A選項(xiàng)。
21.BB【解析】1966年Boehm和JaCopini證明了程序設(shè)計(jì)語言僅僅使用
順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的
程序設(shè)計(jì)方法。
22.B\nB0【解析】由結(jié)果集可知:R—S=T。
\n
23.B解析:此題為數(shù)據(jù)庫的基本概念,可以對照辦工軟件的電子表格進(jìn)
行如下理解:選擇:我們根據(jù)某條件選擇出一行或多行元組(一個(gè)元組即
為二維表中的一行)。投影:按字段(也稱屬性,比如學(xué)生關(guān)系(學(xué)號,姓
名,出生年月,性別),學(xué)號、姓名…都是屬性)選取一列或多歹I」(一個(gè)二
維表中所有元組在某一列或幾列上截取出來)。連接:2個(gè)或2個(gè)以上的
表連接組成一張新的表,通常有條件連接。比如學(xué)生關(guān)系(學(xué)號,姓名,
系號),又有一張系表(系號,系名,主任),2張表可以合并為一張這樣
的表(學(xué)號,姓名,系號,系名,主任)。
24.邏輯判斷邏輯判斷解析繪制流程圖時(shí)對實(shí)體的描述用橢圓形表示、
行動(dòng)方案用矩形表示、問題用菱形表示、箭頭代表流動(dòng)方向。
25.關(guān)系運(yùn)算關(guān)系運(yùn)算解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運(yùn)用
常規(guī)的集合運(yùn)算,(并、交、差、笛卡爾積等)外,還定義了一些專門的
關(guān)系運(yùn)算,如投影、選擇、連接等。前者是將關(guān)系(即二維表)看成是元
組的集合,這些運(yùn)算主要是從二維表的行的方向來進(jìn)行的;后者主要是
從二維表的列的方向來進(jìn)行的運(yùn)算。兩者統(tǒng)稱為關(guān)系代數(shù)。
26.(*p)(xy)(*p)(x,y)解析:一個(gè)函數(shù)總是占用一段連續(xù)的內(nèi)存區(qū),而函
數(shù)名就是該函數(shù)所占內(nèi)存區(qū)的首地址。我們可以把函數(shù)的這個(gè)首地址
(或稱入口地址)賦予一個(gè)指針變量,使該指針變量指向該函數(shù)。然后通
過指針變量就可以找到并調(diào)用這個(gè)函數(shù)。我們把這種指向函數(shù)的指針變
量稱為“函數(shù)指針變量”。函數(shù)指針變量定義的一般形式為:類型說明符
(*指針變量名)(),?其中“類型說明符”表示被指函數(shù)的返回值的類型?!保?
指針變量名)”表示“*”后面的變量是定義的指針變量。最后的空括號表示
指針變量所指的是一個(gè)函數(shù)。
27.構(gòu)造函數(shù)構(gòu)造函數(shù)
28.數(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)開發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)o
29.1212解析:函數(shù)有一個(gè)形參num,循環(huán)前變量k置1,循環(huán)中,表
達(dá)式nora%10是取num的個(gè)位,將num的個(gè)位值累乘于k中,然后num
除以10。循環(huán)直至num為0結(jié)束,這是逐一求出num十進(jìn)制表示的各
位數(shù)字,并累乘于變量k的循環(huán)。函數(shù)最后返回k。函數(shù)hm的功能是
求整數(shù)的各位十進(jìn)數(shù)字積。
3O.tbtb解析:此題考查的是對象的定義。對象的定義格式如下:類名對
象名(參數(shù)表):所以題目中的tb是對象名標(biāo)識符,而ta被定義成類MA
的指針,故空格處應(yīng)填tb°
31.template<classT>TDBL(Tn){returnn+n;}template<classT>T
DBL(Tn){returnn+n;}解析:本題考核函數(shù)模板的使用。函數(shù)模板的一
般說明形式如下:template<類型形參表>返回類型函數(shù)名(形參表){〃函
數(shù)體}。函數(shù)調(diào)用方式為:函數(shù)名(實(shí)參表);。形參表中的類型以實(shí)參表中
的實(shí)際類型為依據(jù)。由此易得答案。
32.101020101020解析:本題考核函數(shù)的引用傳遞?!耙谩睂?shí)際上是
給一個(gè)已知變量起個(gè)別名,對引用的操作也就是對被它引用的變量的操
作。函數(shù)RmA()的第1個(gè)形參為引用形參,那么在函數(shù)內(nèi)部形參a的改
變將引起實(shí)參的相應(yīng)改變。同理fimB()中弓|用參數(shù)V的改變也會(huì)弓|起相
應(yīng)實(shí)參的改變。
33.多態(tài)性多態(tài)性解析:面向?qū)ο笙到y(tǒng)包含了三個(gè)特征-封裝性、繼承性
和多態(tài)性,這三個(gè)特征可以很好的實(shí)現(xiàn)數(shù)據(jù)抽象,進(jìn)行行為共享,完成
進(jìn)化求解和描述一個(gè)系統(tǒng)的確定行為。
34.sum=20sum=20解析:本題考察靜態(tài)數(shù)據(jù)成員在同類的不同對象間的
數(shù)據(jù)傳遞功能。Sum為所有對象的公共數(shù)據(jù),M對象和N對象分別對
sum進(jìn)行累加,故結(jié)果為20°
35.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似性質(zhì)的一組對
象。所以,屬性與操作相似的一組對象稱為類。
36.(1)應(yīng)改為“ein.getline(str,120,?);
(2)應(yīng)改為"while(str[i])"°
,,
(3)應(yīng)改為“if(str[i]>=a&&str[i]<=2)o
【解析1本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員
函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符
個(gè)數(shù),終止標(biāo)志字符廠,所以第1處改為“cin.getline(str,
120,?);第2處的“while(str)”語句應(yīng)該是判斷字符串str中的每一
個(gè)字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否
為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)該修改為“while?巾])”。第3處的
“if(str[i]>=a)”語句是判斷字符str[i]是否為小寫字符,而現(xiàn)有的語句只
是判斷字符是否大于a,但是小寫字符應(yīng)該是a到2,所以修改為
“if(str[i]>=a&&str[i]>=z)”。
37.(1)應(yīng)添力口“public:"。
\n(2)“inti”應(yīng)改為“inti(10);”。
\n(3)“i++;”應(yīng)改為“i—;”。
\n【解析】本題主要考查的是成員的訪問屬性。成員的訪問屬性有公有、
保護(hù)和私有3種,而默認(rèn)的訪問屬性為私有,只有公有成員才能通過類
的對象被訪問。故應(yīng)在構(gòu)造函數(shù)前添加“public:“,否則該類無法被實(shí)例
化。變量的初始化可以通過“=”號,也可以和初始化對象一樣添加構(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.⑴應(yīng)改為“TCobjl(l);
(2)應(yīng)改為“Objl.SetNumber(lO);
(3)應(yīng)改為“0bj2.SelNumber(lOO);
【解析】本題第1處的“TCobjl;”語句是聲明TC類的對象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)該是:對象名.成員函數(shù),所以修改為
“objl.SetNumber(lO);類是對象的抽象,而對象是類的具體實(shí)
例。第3處“TC.SetNumber(lOO);”語句中的TC為類,并不是對象,
這里應(yīng)該使用定義的對象,即。bj2,所以將語句修改為
“obj2.SetNumber(lOO);
39.(1)應(yīng)改為"assert(sizeof(sD==4);”。
\n(2)應(yīng)改為"assert(sizeof(s2)=lO);”。
\n(3)應(yīng)改為"assert(sizeof(s3)=l);
\n【解析】assert函數(shù)如果為假,則會(huì)產(chǎn)生一個(gè)中斷異常。所以要讓它正
常執(zhí)行輸出結(jié)果,那么assert函數(shù)只有為真,才不會(huì)產(chǎn)生中斷異常。
t4assert(sizeof(s1)=3);”語句中“sizeof(sl)==3”為假,這會(huì)使程序產(chǎn)生異
常,不能正常執(zhí)行。因?yàn)閟trl的值為abc,但是它還有一個(gè)尾符,它的
長度應(yīng)該是4,而不是3,所以在第1處修改為“assert(sizeof(sl)==4)二。
str2[10]說明,str2的空間為10,在第2處修改為“assert(sizeof(s2)=10);”。
charstr3=23;語句說明23是字符,所占存儲空間為1,所以修改為
“assert(sizeof(s3)=l);”。
€t,,
40.(l)voidmaino
(2)“intm=0144;
(3)“intn=OX25;”或“intn==0x25;
【解析】本題主要考查了主函數(shù)定義及幕同進(jìn)制之間的轉(zhuǎn)換,包括十
進(jìn)制到八進(jìn)制,十進(jìn)制到十六進(jìn)制。主函數(shù)定義的定義形式為
“main”,函數(shù)名之后必須是一對括號,因此第1處應(yīng)改為“voidmain”。
cout輸出默認(rèn)是以十進(jìn)制方式輸出的,根據(jù)題目要求輸出的結(jié)果可發(fā)
現(xiàn)變量的初值不正確,十進(jìn)制的100對應(yīng)八進(jìn)制的144,卡進(jìn)制的37
對應(yīng)十六進(jìn)制的25,因此2和3應(yīng)分別改成“intm=0144;”,
“intn=0x25;”或“intn=0><25;
41.(1"usingnamespacestd;"。
\n(2)應(yīng)改為"outl.open('l.txt',ios::binary|ios::app);"。
W(3)應(yīng)改為“outl.put(s[i]);”。
\n【解析】本題第1處的“usingstd;”是在程序中引入標(biāo)準(zhǔn)命名空間std,
對于C++中弓I入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1處
的語句修改為“usingnamespacestd;"。第2處,調(diào)用成員函數(shù)open中,
輸入、輸出方式是在ios類中定義的,所入'outl.open('l.txt',binary|
app);”語句缺少類ios,即第2處的語句修改為“outl.open。.txt:ios::
binary|ios::app);”。第3個(gè)標(biāo)識應(yīng)該用流成員函數(shù)put輸出字符,所
以第3處的語句修改為“outl.put(s[i]);”。
42.(1)應(yīng)改為"usingnamespacestd;"。
(2)應(yīng)改為"outl.open("l.txt",ios::binaryIios::app);"。
(3)應(yīng)改為“outl.put(s[i]);
【解析】本題第1處的“usingstd;”是在程序中引入標(biāo)準(zhǔn)命名空間std,
對于C++中引入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1處
的語句修改為"usingnamespacestd;第2處,調(diào)用成員函數(shù)open
中,輸入、輸出方式是在ios類中定義的,所以“outl.open("l.txt",
binaryIapp);”語句缺少類ios,即第2處的語句修改為
“outl.open("l.txt",ios::binaryIios::app);第3個(gè)標(biāo)識應(yīng)
該用流成員函數(shù)put輸出字符,所以第3處的語句修改為
“outl.put(s[i]);”。
43.(1)應(yīng)改為“ein.getline(str,120,?);
\n⑵應(yīng)改為"while(str[i])"°
,,
\n(3)應(yīng)改為"if(str[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īng)該是判斷字符串str中的每一個(gè)字符是否為結(jié)
束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否為小寫,若為小寫,
則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”°第3處的“if(str[i]>=a)”語句是
判斷字符str[i]是否為小寫字符,而現(xiàn)有的語句只是判斷字符是否大于a,
但是小寫字符應(yīng)該是a到2,所以修改為“if(str[i]>=a&&str[i]>=z)”。
44.(1)應(yīng)改為"TCobjl⑴;
\n(2)應(yīng)改為“Objl.SetNumber(10);”。
\n(3)應(yīng)改為“0bj2.SelNumber(lOO);
\n【解析】本題第1處的“TCobjl;”語句是聲明TC類的對象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)該是:對象名.成員函數(shù),所以修改為
“objl.SetNumber(lO);"o類是對象的抽象,而對象是類的具體實(shí)例。
第3處“TC.SetNumber(lOO);”語句中的TC為類,并不是對象,這里
應(yīng)該使用定義的對象,即obj2,所以將語句修改為
“obj2.SetNumber(lOO);
45.(1)應(yīng)改為“TC::TC”。
\n⑵應(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”后的語句看,這
是在類外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)誤問題,display
函數(shù)返回值為void,因此第2處的語句應(yīng)改為“voidTC:display"。由第
3處的語句“TC::TC”可知,顯然這里是在類外實(shí)現(xiàn)析構(gòu)函數(shù),析構(gòu)函
數(shù)是一個(gè)特殊的函數(shù),它的名稱和類名相同,并在前面加“~”字符,用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度外賣配送服務(wù)承包合同(含食品安全)
- 2025年度個(gè)人獨(dú)院買賣合同(含租賃權(quán))協(xié)議書
- 課題申報(bào)參考:民族基層地區(qū)檢察聽證實(shí)質(zhì)化改革路徑構(gòu)建研究
- 二零二五年度智能停車場租賃與維護(hù)一體化合同
- 2025年個(gè)人擔(dān)保居間合同標(biāo)準(zhǔn)實(shí)施范本2篇
- 二零二五年度女方違反離婚協(xié)議財(cái)產(chǎn)分割及房產(chǎn)過戶合同4篇
- 2025年度個(gè)人戶外裝備分期購買合同
- 湖北省黃岡市重點(diǎn)中學(xué)高三上學(xué)期期末考試語文試題(含答案)
- 2025版美容院美容師團(tuán)隊(duì)建設(shè)聘用標(biāo)準(zhǔn)合同4篇
- 二零二五年度牧業(yè)產(chǎn)業(yè)扶貧項(xiàng)目承包合同范本3篇
- 2024年高考語文思辨類作文預(yù)測+考前模擬題+高分范文
- 橋本甲狀腺炎-90天治療方案
- 《量化交易之門》連載27:風(fēng)險(xiǎn)的角度談收益MAR和夏普比率
- (2024年)安全注射培訓(xùn)課件
- 2024版《建設(shè)工程開工、停工、復(fù)工安全管理臺賬表格(流程圖、申請表、報(bào)審表、考核表、通知單等)》模版
- 部編版《道德與法治》六年級下冊教材分析萬永霞
- 粘液腺肺癌病理報(bào)告
- 酒店人防管理制度
- 油田酸化工藝技術(shù)
- 上海高考英語詞匯手冊列表
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)五 其他內(nèi)容類型的生產(chǎn)
評論
0/150
提交評論