2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc

上传人:wj 文档编号:1337902 上传时间:2023-04-30 格式:DOC 页数:19 大小:40.50KB
下载 相关 举报
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第1页
第1页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第2页
第2页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第3页
第3页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第4页
第4页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第5页
第5页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第6页
第6页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第7页
第7页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第8页
第8页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第9页
第9页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第10页
第10页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第11页
第11页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第12页
第12页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第13页
第13页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第14页
第14页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第15页
第15页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第16页
第16页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第17页
第17页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第18页
第18页 / 共19页
2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc

《2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc》由会员分享,可在线阅读,更多相关《2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc(19页珍藏版)》请在冰点文库上搜索。

2002年10月全国高等教育自学考试面向对象程序设计试题Word文件下载.doc

10.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->

A:

:

func()将()

A.调用类A中的函数func()

B.调用类B中的函数func()

C.根据p所指的对象类型而确定调用类A中或类B中的函数func()

D.既调用类A中函数,也调用类B中的函数

二、填空题(每小题2分,共20分)

11.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为__________。

12.模板定义中标识类型的参数必须用关键字_________修饰。

13.表达式count<

<

hex还可表示为_________。

14.通过C++语言中的_________机制,可以从现存类中构建其子类。

15.要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加_________实现。

16.封装要求一个对象应具备明确的功能,并具有_________以便和其它对象相互作用。

17.在删除一个动态对象时,将自动调用该动态对象所属类的_________函数。

18.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_________。

19.在下面的类定义中,私有成员有_________。

classLocation{

intX,Y;

protected:

intzeroX,zerxY;

intSetZero(intzeroX,intzeroY);

private:

intlength,height;

public:

voidinit(intinitX,intinitY);

intGetX();

intGetY();

};

20.类的私有成员只能被它的成员函数和_________访问。

三、改错题(每小题2分,共10分)

21.此类定义有一处错误,请指出错误并改正。

classABC{

inta;

ABC(intaa)a(aa){}

22.下面程序通过调用函数模板实现计算两个正整数的最大公约数,把main函数中错误找出并改正过来。

#include<

iostream.h>

classT>

Tgcd(Tx,Ty){

while(x!

=y)

if(x>

y)x-=y;

elsey-=x;

returnx;

voidmain()

{

doubled;

cin>

>

a>

d;

cout<

gcd(a,d)<

endl;

23.指出下面程序中的错误,并说明出错原因。

classConstFun{

voidConstFun(){}

constintf5()const{return5;

intObj(){return45;

intval;

intf8();

intConstFun:

f8(){returnval;

constConstFuns;

inti=s.f5();

″Value=″<

i<

24.指出下面程序中的错误,并说明错误原因。

classA{

voidfun(){cout<

″a.fun″<

classB{

″b.fun″<

voidgun(){cout<

″b.gun″<

classC:

publicA,publicB{

intb;

voidgun(){cout<

″c.gun<

″endl;

voidmain(){

cobj;

obj.fun();

obj.gun();

25.指出下面程序段中的错误,并说明出错原因。

intzeroX,zeroY;

intSetZero(intzeroX,intzeroY){X=zeroX;

Y=zeroY;

floatradius;

voidinit(intinitX,intinitY){length=initX;

height=initY;

intGetX(){returnX;

intGetY(){returnY;

intmain(){

LocationretangleA={25,20,3,5,6,7,3};

return0;

四、完成程序题(每小题4分,共20分)根据题目要求填空,完成程序。

26.在下面程序段横线处填上适当的内容。

________

intn;

A(intnn=0):

n(nn){

if(n==0)a=0;

elsea=newint[n];

________//定义析构函数,释放动态数组空间

27.在下面程序横线处填上适当内容,使程序执行结果为:

200__100

程序如下:

#include<

template________

Tf(Tx,Ty){

if(sizeof(T)==__________)

returnx+y;

else

returnx*y;

cout<

f(10,20)<

″--″<

f(45.5,54.5)<

28.下面程序三次调用同一函数sum,在横线处填上适当内容,使输出结果为:

S=2

S=5

S=9

voidsum(inti)

staticints;

____________;

″S=″<

s<

voidmain(void)

inti;

for(i=0;

________)

sum(i);

29.请在下面横线处填上适当的内容,使程序的输出为:

7.00000

7

iomanip.h>

viodmain(){

doublex=7;

______________<

x;

endl<

30.在下面程序横线处填上适当的内容,使该程序输出结果为:

CreatingB

endofB

endofA

classA

A(){}

______________{cout<

″endofA″<

calssB:

publicA

B(){________}

~B(){cout<

″endofB″<

A*pa=newB;

deletepa

五、程序分析题(每小题5分,共30分)

给出下面各程序的输出结果。

31.当从键盘上输入1.510时,写出下面程序的执行结果。

voidmian()

inta,b,c;

charch;

ch>

b>

c;

//从键盘上输入1.510

a<

ch<

b<

输出为:

32.写出下面程序输出结果。

voidf(Ta[3][3],Tb[3][3],Tc[3][3])

for(inti=0;

3;

i++)

for(intj=0;

j<

j++){

c[i][j]=(T)0

for(intk=0;

k<

k++)

c[i][j]+=a[i][k]*b[j][k];

inta[3][3]={{1,2,3},{4,5,6},{7}},b[3][3],

c[3][3]={{2},{0,2},{0,0,2}};

f(a,c,b);

i++){

for(intj=0,j<

j++)

b[i][j]<

″″;

33.写出下面程序的输出结果。

classFUN{

friendostream&

operator<

(ostream&

FUN);

}fun;

ostream&

operator<

os,FUNf){

os.setf(ios:

left);

returnos;

setfill(′*′)<

setw(10)<

12345<

fun<

54321<

34.写出下面程序的输出结果。

classTest{

staticintval;

staticintfunc();

staticvoidsfunc(Test&

r);

intTest:

val=20;

func()

val--;

returnval;

voidTest:

sfunc(Test&

r)

r.a=25;

″Result3″=<

r.a;

″Resultl=″<

Test:

func()<

Testa;

″Result2=″<

a.func();

sfunc(a);

35.写出下面程序输出结果。

#include<

virtualvoidfunc(){cout<

″funcinclassA″<

endl;

classB

″funcinclassB″<

publicA,publicB

voidfunc(){cout<

″funcinclassC″<

Cc;

A&

pa=c;

B&

pb=c;

C&

pc=c;

pa.func();

pb.func();

pv.func();

36.写出下面程序的输出结果。

classLocation{

voidLocation:

init(intinitX,intinitY)

X=initX;

Y=initY;

intLocation:

GetX()

returnX;

GetY()

returnY;

voiddisplay(Location&

rL)

rL.GetX()<

″″<

rL.GetY()<

′\n′;

LocationA[5]={{0,0},{1,1},{2,2},{3,3},{4,4}};

Location*rA=A;

A[3].init(5,3);

rA->

init(7,8);

for(inti=0;

5;

display(*(rA++));

全国2002年10月高等教育自学考试面向对象程序设计参考答案

参考答案

一、单项选择题(本大题共lO小题,每小题2分:

共20分)

 1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.A 9.B 10.A

二、填空题(本大题共10小题,每小题2分,共20分)

11.~AB(){}

12.class(或typcname)

13.cout,sctf(ios:

hex,ios:

basefield)

(或cout.setf(ios:

hex),或cout<

settosflags(ios:

hex),其中ios:

"写成ios_base:

也可)

14.继承(或派生)15,域名限制(或其它含义等价的描述)

16.接口〈或界面.或公有成员〉

17.析构

18.友元函数

19.X,Y,length,height(说明:

每答对两个给1分)

20友元类(或友元函数,或友元)

三、改错题(本大题共5小题:

每小题2分,共lO分)说明:

各小题中,指出错误得l分,说明出错原因或改正正确得l分。

21.ABC(intaa)与a(aa){}之间少一个冒号,应改为ABC(tntlla):

a(aa){}

22.main函数中的gcd(a,d)改为gcd(a,(int)d)(或把doubled;

改为int;

或把gcd(a,d)改为gcd<int>

(a,d)或把gcd(a,b)改为gcd(a,int(d))=

23.程序中第4行“voidConstFun(){}”错误,因为声明构造函数时不能指定返回类型。

24.第15行obj.fun();

语句错误,因为用C类的对象obj对函数fun()的访问是两义的,应使用成员名限定来消除两义性。

25.locationretangleA={25,20,3,5,6,7,3};

语句错误,因为数据成员不都是公有成员,不能用初始化列

表初始化。

四、完成程序题(本大题共5小题,每小题4分,共20分)

26,int*a;

(2分)

~A(){delete[]a;

}(2分)

27.<classI>(2分)

sizeof(double)(或8或其他等价形式)

28.s+=2+i(或其他等价形式)(2分)

i<3;

i++(或其他等形式)(2分)

29.setiosflage(ios:

showpoint)(2分)

resetiosflags(ios:

说明:

其中ios:

可写成ios_basc:

30.virtual~A()(2分)

”creatingB”<

end;

五、程序分析题(本大题共6小题i每小题5分,共30分)

3l.1(1分)

  .(2分)

  5(1分)

  10(1分)

32.246

  8lO12

  1400

每答对一行得2分,全部答对得5分。

33.*****12345(2分)

  54321*****(3分)

34.Result1=19

  Result2=18Result3=d0

(1)写对第一行结果得2分,只写出“Result1=”,而未写出结果“l9”,得l分。

   

(2)写对第二行结果得3分,只写出“Rcstilt2=18”或“Rcsidt3=25”,得2分。

   (3)第一衍与第二行全写正确,但写在同一行上扣1分。

35.funcinclassC

  funcinclassC

  fundinclassC

每答对一行得2分,全部答对得5分。

36.78

  11

  22

  53

  44

每答对一行得1分。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2