




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Object
-
OrientedProgramming2003年10月全國高等教育自學(xué)考試試卷與參考答案2003年10月全國高等教育自學(xué)考試試卷與參考答案A.5.0+2.0和5.0+2C.5.0+2.0和5+2B.5.0+2.0和5+2.0D.5+2.0和5.0+2A.析構(gòu)函數(shù)C.其它成員函數(shù)B.構(gòu)造函數(shù)D.友元函數(shù)4.
類的指針成員初始化是通過函數(shù)完成,這個(gè)函數(shù)通常是
B(
)一、單項(xiàng)選擇題(共10小題,每小題2分)下列特性中,C與C++共有的是(D
)A.
繼承 B.
封裝 C.
多態(tài)性 D.
函數(shù)定義不能嵌套通常情況下,函數(shù)模板中的類型參數(shù)個(gè)數(shù)
不能
是
(A
)A.0
B.2
C.4
D.3在下列表達(dá)式中,運(yùn)算符“
+
”的意義不相同的一對(duì)是C
(
)22003年10月全國高等教育自學(xué)考試試卷與參考答案要禁止修改指針p本身,又要禁止修改p所指向的數(shù)據(jù),這樣的指針應(yīng)定義為(D
)const
char
*p=
“
ABCD
”;char
const
*p=
“
ABCD
”;char
*const
p=
“
ABCD
”;const
char
*
const
p=
“
ABCD
”;靜態(tài)成員函數(shù)沒有
(B
)A.
返回值 B.this
指針 C.
指針參數(shù)
D.
返回類型當(dāng)一個(gè)類的某個(gè)函數(shù)被說明為virtual時(shí),該函數(shù)在該類的所有派生類中(A
)都是虛函數(shù)只有被重新說明時(shí)才是虛函數(shù)只有被重新說明為virtual時(shí)才是虛函數(shù)都不是虛函數(shù)32003年10月全國高等教育自學(xué)考試試卷與參考答案A.枚舉C.數(shù)組B.類D.函數(shù)10.
所有在函數(shù)中定義的變量,都是
(
)A.全局變量C.靜態(tài)變量B.局部變量D.寄存器變量下面敘述
不正確
的是
(D
)派生類一般都用公有派生對(duì)基類成員的訪問必須是無二義性的賦值兼容規(guī)則也適用于多重繼承的組合基類的公有成員在派生類中仍然是公有的在C++中實(shí)現(xiàn)封裝是借助于(A
)B42003年10月全國高等教育自學(xué)考試試卷與參考答案而是修飾
指針。二、填空題(每小題2分,共20分)設(shè)函數(shù)max是由函數(shù)模板實(shí)現(xiàn)的,并且max(3.5,5)和
max(10,5)都是正確的函數(shù)調(diào)用,則模板具有_2_個(gè)類型參數(shù)。在單繼承和多繼承方式中,面向?qū)ο蟮某绦蛟O(shè)計(jì)應(yīng)盡量使用
單
繼承。語句ifstream
datafile;datafile.open(“data.dat;的功能i可fs用tr一r一e個(gè)am語da句ta實(shí)fi現(xiàn)le,(這“個(gè)d語at句a.是dat”)
。將關(guān)鍵字const寫在函數(shù)頭之后,函數(shù)體之前,說明該函數(shù)是一個(gè)contshtis成員函數(shù)。此時(shí)const不是指定函數(shù)的返回值,52003年10月全國高等教育自學(xué)考試試卷與參考答案15.一個(gè)抽象類的派生類可以實(shí)例化的必要條件是實(shí)現(xiàn)了所有的整數(shù)的數(shù)組并由ip所指向,應(yīng)使用語句虛函數(shù)。在
C++
中,虛函數(shù)幫助實(shí)現(xiàn)了類的
多態(tài)
性。通過
C++
語言中類的
繼承
,可以擴(kuò)充和完善已有類以適應(yīng)新的需求。為了在對(duì)象生存期結(jié)束時(shí)釋放其指針成員所指向的動(dòng)態(tài)存儲(chǔ)空間,通常需要為該類定義析構(gòu)函數(shù)
。在聯(lián)合中,所有數(shù)據(jù)成員具有
相同
的地址,任一時(shí)刻只有
1
個(gè)數(shù)據(jù)成員有效。在已經(jīng)定義了整型指針ip后,為了得到一個(gè)包括10個(gè)ip=new
int[10];。62003年10月全國高等教育自學(xué)考試試卷與參考答案class
A{ int
a;public:A(int
aa):a=aa
{
}};22.下面的程序有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并改正錯(cuò)誤。#
include<iostream.h>class
Test{
public;static
int
x;
};int
x=20;//對(duì)類成員初始化void
main(){
cout<<Test::x;
}三、改錯(cuò)題(每小題2分,共10分)21.下面的類定義有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并改正錯(cuò)誤。A(int
aa):a=aa{}出錯(cuò)
改為:A(int
aa):a(aa){}int
x=20;出錯(cuò)改為:int
Test::x=20;72003年10月全國高等教育自學(xué)考試試卷與參考答案23.下面的程序先把字符串“Look
out!”輸出到一個(gè)文件中,然后再從該文件輸入,并顯示在屏幕上,顯示效果為
Look
out!。程序中有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行,并給出更改意見。#
include<fstream.h>void
main(){ofstream
outf(
"c:\\tem.dat",ios::trunc);outf<<
"Look
out!"
;outf.close(
);ifstream
inf(
"c:\\tem.dat"
);char
k[20];inf>>k;cout<<k;inf.close(
);}inf>>k;只能讀出Look改為:inf.getline(k,20);82003年10月全國高等教育自學(xué)考試試卷與參考答案24.下面的程序類B的定義中有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并說明錯(cuò)誤原因。#
include<iostream.h>#
include<string.h>class
A{
public: A(const
char
*nm){strcpy(name,nm);}private:
char
name[80];
};class
B:public
A{ public:
B(const
char
*nm):A(nm){
}void
PrintName(
)const;};void
B::PrintName(
)
const{
cout<<
"name:
"
<<name<<endl;
}void
main(
){b1.PrintName(
);
}cout<<"name:"<<name<<endl;出錯(cuò)B
b1("wang
li");原因:私有成員在子類中不能訪問92003年10月全國高等教育自學(xué)考試試卷與參考答案25.用下橫線標(biāo)出下面程序main函數(shù)中的錯(cuò)誤所在行,并說明錯(cuò)誤原因。#
include<iostream.h>class
Location{private:
int
X,Y;public:
void
init(int
initX,int
initY);int
sumXY(
);
};void
Location::init(int
initX,int
initY){
X=initX;
Y=initY;
}int
Location::sumXY(
) {
return
X+Y;
}void
main(
){Location
A1;int
x,y;A1.init(5,3);x=A1.X;
y=A1.Y;cout<<x+y<<
"
"
<<A1.sumXY(
)<<endl;
}x=A1.X;y=A1.Y;出錯(cuò)原因:私有成員不能被main函數(shù)訪問102003年10月全國高等教育自學(xué)考試試卷與參考答案四、完成程序題(每小題4分,共20分)26.在下面橫線處填上適當(dāng)內(nèi)容,使該程序結(jié)果為:12和88#include<iostream.h>template<class
T>class
Tany;void
pr(
))
cout<<(x>y?
x:y)<<endlelse cout<<(x>y?
y:x)<<endl;
}
};void
main(
){Tany<double>
dobj={12.0,88.0};dobj.pr(
);Tany<int>
iobj={12,88};iobj.pr(
);
}{ if
(sizeof(int)s=s==ii=zeof(
T
){
public:
T_T
x,y112003年10月全國高等教育自學(xué)考試試卷與參考答案return
sqrt(dx*dx+dy*dy);
}void
main(
){ loc
p1(3.5,4.5),p2(5.5,6.5);float
d=loc::dis(p1,p2);cout<<
"
The
distance
is
"
<<d;
}27.在下面的橫線處填上適當(dāng)內(nèi)容,使程序完整。
#include<iostream.h>#
include<math.h>class
loc{ private:
float
x,y;public:
loc(
float
x1,
float
y1
)
{
x=x1;
y=y1;
}float
getx(
){return
x;}float
gety(
){return
y;}
static
float
dis(loc&,loc&);
};float
loc::dis(loc&a,loc&b){ float
dx=a.x-b.x; float
dy=a.y-b.y;122003年10月全國高等教育自學(xué)考試試卷與參考答案{ if(v1.getSpeedLevel(
)>v2.getSpeedLevel(
))
return
1;else return
2;
}void
main(
){ truck
t;car
c;
t.setSpeed(130);
c.setSpeed(60);cout<<maxSpeedLevel(t,c)<<endl;}//此結(jié)果輸出為228.在下面程序中的橫線處填上適當(dāng)內(nèi)容,使程序完整。
#include<iostream.h>class
vehicle{
protected: int
speed;public:
void
setSpeed(int
s){speed=s;}_v_i_r_t_u_a_l_i_ngtetSpeedLevel(
){return
speed/10;}
};class
car:public
vehicle{ public:
int
getSpeedLevel(
)
{return
speed/5;}
};class
truck:public
vehicle{ public:
int
getSpeedLevel(
){return
speed/15;}
};&v1int
maxSpeedLevel(vehicle ,vehicle
&v2
)132003年10月全國高等教育自學(xué)考試試卷與參考答案private:int
b1,b2;
};29.在下面橫線處填上合適內(nèi)容,完成類B的定義。
#include<iostream.h>class
A{
public:A(
)
{a=0;}A(int
i)
{a=i;}void
print(
)
{cout<<a<<
"
,
"
;}private: int
a;
};class
B:public
A{
public:B(
)
{b1=b2=0;}B(
int
i
)
{b1=i;b2=0;}B(int
i,int
j,int
Ak()i:)
{b1=j;b2=k;}//使a的值為void
print(){
A::print(
);cout<<b1<<
"
,"
<<b2<<endl;}142003年10月全國高等教育自學(xué)考試試卷與參考答案30.根據(jù)注釋在空白處填寫適當(dāng)內(nèi)容。
#include<iostream.h>class
Location{private:int
X,Y;public:void
init(int
initX,int
initY){
X=initX;
Y=initY;
}int
GetX(
){
return
X
;}int
GetY(
){
return
Y
;}
};void
main(
){ Location
A1;A1.init(20,90);//定義一個(gè)指向A1的引用rA1}Location
&rA1=A1;_c_c_o_o_u_u_t_t_<_<_<_<_r_r_A_A_1._._G_G_e_e_t_t_X_X_(_(_)_)_<_<_<_<_"_"_,_,_"_"_<_<_<_<_r_r_A_A_1_1_._._G_G_e_e_t_t_Y_Y(_(_)_)<_<_<_<_e_e_n_n_d_d_l_l;//用rA1在屏幕上輸出對(duì)象A1的數(shù)據(jù)成員X和Y的值152003年10月全國高等教育自學(xué)考試試卷與參考答案五、程序分析題(每小題5分,共30分)31.
給出下面程序的輸出結(jié)果。#
include<iostream.h>class
FunArray{int
*pa;//指向一個(gè)數(shù)組空間int
size;//數(shù)組元素個(gè)數(shù)public:FunArray(int
a[],int
thesize):pa(a),size(thesize){int
Size(
)
{return
size;}int
&
operator[](int
index){return
pa[index-1];}
};void
main(
){int
s[
]={3,7,2,1,5,4};FunArray
ma(s,sizeof(s)/sizeof(int));ma[3]=9;for(int
i=1;i<=ma.Size(
);i++)cout<<ma[i]<<
"
,"
;
}執(zhí)行結(jié)果:3,7,9,1,5,4,162003年10月全國高等教育自學(xué)考試試卷與參考答案32.給出下面程序的輸出結(jié)果。
#include<iostream.h>template<class
T>class
Tclass{T
x,y;public:Tclass(T
a,T
b):x(a){y=b;}{y=(T)0,x=a;}Tclass(T
a)void
pr(
){
char
c;執(zhí)行結(jié)果:10.5-5.8i10+0ic=(y>=(T)0
?
"+"
:
"-"
);cout<<x<<c<<(y>(T)0?
y:-y)<<
"i"
<<endl;
}
};void
main(
){ Tclass<double>a(10.5,-5.8); a.pr(
);Tclass<int>b(10); b.pr(
);
}172003年10月全國高等教育自學(xué)考試試卷與參考答案33.給出下面程序的輸出結(jié)果。
#include<iostream.h>33.class
Test33.{
private:33. static
int
val;33. int
a;33.
public:33.static
int
func(
)
{ return
val++;
}33.void
sfunc(Test
&r)33.{ r.a=125;cout<<
"
Result3=
"
<<r.a;
}};33.int
Test::val=200;33.void
main(
)33.{ cout<<
"
Result1=
"
<<Test::func(
)<<endl;33. Test
a;33. cout<<
"
Result2=
"
<<a.func(
);33. a.sfunc(a);
}執(zhí)行結(jié)果:Result1=200Result2=201Result3=125182003年10月全國高等教育自學(xué)考試試卷與參考答案34.運(yùn)行下面的程序,寫出當(dāng)輸入25,60時(shí)的輸出結(jié)果。
#include<iostream.h>class
A{public:virtual
void
print(
){cout<<
"
class
A.
"
<<endl;}
};class
B:public
A{public:void
print(
) {
}};class
C:public
B{
public:void
print(
){cout<<
"
class
C.
"
<<endl;}
};void
show(A&a)
{
a.print(
);
}void
main(
){ A
a;
B
b;
C
c;show(a);
show(b); show(c);
}執(zhí)行結(jié)果:class
A.class
C.192003年10月全國高等教育自學(xué)考試試卷與參考答案35.寫出輸出結(jié)果。#
include<iostream.h>class
A{
public: A(
){a=0;}A(int
i)
{a=i;}void
Print(
)
{cout<<a<<
"
,
"
;}int
Geta(
) {return
a;}執(zhí)行結(jié)果:1,5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 23164:2025 EN Automation systems and integration - Core vocabulary for industrial data
- 【正版授權(quán)】 ISO 7434:2024 EN Fasteners - Slotted set screws with cone point
- 2025年度展覽場地租賃合同保證金與押金繳納細(xì)則
- 2025年涼果蜜餞合作協(xié)議書
- 2025年度智慧交通樞紐包工施工合同(智能交通系統(tǒng))
- 2025房地產(chǎn)股權(quán)并購項(xiàng)目盡職調(diào)查及服務(wù)合同
- 2025年度智能家居標(biāo)準(zhǔn)私房買賣合同范文
- 增強(qiáng)知識(shí)管理的主管工作計(jì)劃
- 多元化班級(jí)文化的建設(shè)方法計(jì)劃
- 客戶投訴處理流程的總結(jié)與反思計(jì)劃
- 《2024版CSCO胰腺癌診療指南》更新要點(diǎn)
- 兒童福利機(jī)構(gòu)安全管理規(guī)范
- 鞋類制造過程的節(jié)能與減排
- 第1課 おじぎ 課件高中日語人教版第一冊(cè)-1
- ISO∕IEC 23894-2023 信息技術(shù) -人工智能 - 風(fēng)險(xiǎn)管理指南(雷澤佳譯-2024)
- 事前績效評(píng)估具體工作實(shí)施方案
- 六年級(jí)下冊(cè)語文第一單元測(cè)試卷 部編版(含答案)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫新版
- 《研學(xué)旅行市場營銷》課件-研學(xué)旅行市場營銷之社群營銷
- 醫(yī)學(xué)人體美學(xué)的測(cè)量和評(píng)估
- 艱難梭菌感染動(dòng)物模型的建立及其應(yīng)用評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論