全国高等教育自学考试面向对象程序设计试题Word格式.docx

上传人:b****1 文档编号:13295901 上传时间:2022-10-09 格式:DOCX 页数:15 大小:19.05KB
下载 相关 举报
全国高等教育自学考试面向对象程序设计试题Word格式.docx_第1页
第1页 / 共15页
全国高等教育自学考试面向对象程序设计试题Word格式.docx_第2页
第2页 / 共15页
全国高等教育自学考试面向对象程序设计试题Word格式.docx_第3页
第3页 / 共15页
全国高等教育自学考试面向对象程序设计试题Word格式.docx_第4页
第4页 / 共15页
全国高等教育自学考试面向对象程序设计试题Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

全国高等教育自学考试面向对象程序设计试题Word格式.docx

《全国高等教育自学考试面向对象程序设计试题Word格式.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试面向对象程序设计试题Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

全国高等教育自学考试面向对象程序设计试题Word格式.docx

A.5.0+2.0和5.0+2 

B.5.0+2.0和5+2.0

C.5.0+2.0和5+2 

D.5+2.0和5.0+2

4.类的指针成员的初始化是通过函数完成的,这个函数通常是( 

A.析构函数 

B.构造函数

C.其它成员函数 

D.友元函数

5.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( 

A.constchar*p=“ABCD”;

B.charconst*p=“ABCD”;

C.char*constp=“ABCD”;

D.constchar*constp=“ABCD”;

6.静态成员函数没有( 

A.返回值 

B.this指针

C.指针参数 

D.返回类型

7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( 

A.都是虚函数

B.只有被重新说明时才是虚函数

C.只有被重新说明为virtual时才是虚函数

D.都不是虚函数

8.下面叙述不正确的是( 

A.派生类一般都用公有派生

B.对基类成员的访问必须是无二义性的

C.赋值兼容规则也适用于多重继承的组合

D.基类的公有成员在派生类中仍然是公有的

9.在C++中实现封装是借助于( 

A.枚举 

B.类

C.数组 

D.函数

10.所有在函数中定义的变量,都是( 

A.全局变量 

B.局部变量

C.静态变量 

D.寄存器变量

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

不写解答过程,将正确的答案写在每小题的空格内。

错填或不填均无分。

11.设函数max是由函数模板实现的,并且max(3.5,5)和max(10,5)都是正确的函数调用,则该模板具有______个类型参数。

12.在单继承和多继承方式中,面向对象的程序设计应尽量使用______继承。

13.语句序列ifstreamdatafile;

datafile.open(“data.dat”);

的功能可用一个语句实现,这个语句是______。

14.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。

此时const不是指定函数的返回值,而是修饰______指针。

15.一个抽象类的派生类可以实例化的必要条件是实现了所有的______。

16.在C++中,虚函数帮助实现了类的______性。

17.通过C++语言中类的______,可以扩充和完善已有类以适应新的需求。

18.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义______。

19.在联合中,所有数据成员具有______的地址,任一时刻只有______个数据成员有效。

20.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句______。

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

21.下面的类定义有一处错误,请用下横线标出错误所在行并改正错误。

classA{

inta;

public;

A(intaa):

a=aa{}

};

22.下面的程序先把字符串“Lookout!

”输出到一个文件中,然后再从该文件输入,并显示在屏幕上,显示效果为Lookout!

程序中有一处错误,请用下横线标出错误所在行,并给出更改意见。

#include

voidmain(){

ofstreamoutf(“D:

\tem.dat”,ios:

:

trunc);

outf<

<

“Lookout!

”;

outf.close();

ifsteaminf(“D:

\tem.dat”);

chark[20];

inf>

>

k;

count<

K;

inf.close();

}

23.下面的程序有一处错误,请用下横线标出错误所在行并改正错误。

classTest{

staticintx;

intx=20;

//对类成员初始化

voidmain()

{

cout<

Test:

x;

24.下面的程序类B的定义中有一处错误,请用下横线标出错误所在行并说明错误原因。

public:

A(constchar*nm){strcpy(name,nm);

}

private:

charname[80];

classB:

publicA{

B(constchar*nm):

A(nm){}

voidPrintName()const;

voidB:

PrintName()const{

“name:

”<

NAME<

ENDL;

voidmain(){

Bb1(“wangli”);

b1.PrintName();

25.用下横线标出下面程序main函数中的错误所在行,并说明错误原因。

classLocation{

intX,Y;

voidinit(intinitX,intinitY);

intsumXY();

voidLocation:

init(intinitX,intinitY)

X=initX;

Y=initY;

intLocation:

sumXY()

returnX+Y;

voidmain()

LocationA1;

intx,y;

A1.init(5,3);

x=A1.X;

y=A1.Y;

X+Y<

” 

)<

endl;

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

根据题目要求,完成程序填空。

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

12

88

template

classTany{

① 

;

voidpr(){

if(sizeof(int)==② 

(x>

y?

x:

y)<

else

y:

x)<

Tanydobj={12.0,88.0};

dobj.pr();

Tanyiobj={12,88};

iobj.pr();

27.在下面的横线处填上适当内容,使程序完整。

classloc{

floatx,y;

loc(① 

x=x1;

y=y1;

floatgetx(){returnx;

floatgety(){returny;

② 

floatdis(loc&

loc&

);

floatloc:

dis(loc&

a,loc&

b)

flostdx=a.x-b.x;

flostdy=a.y-b.y;

returnsqrt(dx*dx+dy*dy);

locpl(3.5,4.5),p2(5.5,6.5);

floatd=loc:

dis(p1,p2);

“Thedistanceis”<

D;

28.在下面程序中的横线处填上适当内容,使程序完整。

classvehicle

protected:

intsize;

intspeed;

voidsetSpeed(ints){speed=s;

getSpeedLevel(){returnspeed/10;

classcar:

publicvehicle

intgetSpeedLeve(){returnspeed/5;

classtruck:

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

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1