面向对象的程序设计第二阶段练习.docx

上传人:b****3 文档编号:4103690 上传时间:2023-05-06 格式:DOCX 页数:24 大小:1.93MB
下载 相关 举报
面向对象的程序设计第二阶段练习.docx_第1页
第1页 / 共24页
面向对象的程序设计第二阶段练习.docx_第2页
第2页 / 共24页
面向对象的程序设计第二阶段练习.docx_第3页
第3页 / 共24页
面向对象的程序设计第二阶段练习.docx_第4页
第4页 / 共24页
面向对象的程序设计第二阶段练习.docx_第5页
第5页 / 共24页
面向对象的程序设计第二阶段练习.docx_第6页
第6页 / 共24页
面向对象的程序设计第二阶段练习.docx_第7页
第7页 / 共24页
面向对象的程序设计第二阶段练习.docx_第8页
第8页 / 共24页
面向对象的程序设计第二阶段练习.docx_第9页
第9页 / 共24页
面向对象的程序设计第二阶段练习.docx_第10页
第10页 / 共24页
面向对象的程序设计第二阶段练习.docx_第11页
第11页 / 共24页
面向对象的程序设计第二阶段练习.docx_第12页
第12页 / 共24页
面向对象的程序设计第二阶段练习.docx_第13页
第13页 / 共24页
面向对象的程序设计第二阶段练习.docx_第14页
第14页 / 共24页
面向对象的程序设计第二阶段练习.docx_第15页
第15页 / 共24页
面向对象的程序设计第二阶段练习.docx_第16页
第16页 / 共24页
面向对象的程序设计第二阶段练习.docx_第17页
第17页 / 共24页
面向对象的程序设计第二阶段练习.docx_第18页
第18页 / 共24页
面向对象的程序设计第二阶段练习.docx_第19页
第19页 / 共24页
面向对象的程序设计第二阶段练习.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

面向对象的程序设计第二阶段练习.docx

《面向对象的程序设计第二阶段练习.docx》由会员分享,可在线阅读,更多相关《面向对象的程序设计第二阶段练习.docx(24页珍藏版)》请在冰点文库上搜索。

面向对象的程序设计第二阶段练习.docx

面向对象的程序设计第二阶段练习

江南大学网络教育第二阶段练习题

考试科目:

《面向对象的程序设计》第章至第章(总分100分)

__________学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

 

一单选题(共7题,总分值7分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

1.若一个类中含有纯虚函数,则该类称为(C)(1分)

A.基类

B.虚基类

C.抽象类

D.派生类

2.下列运算符中,不能用友元函数重载的是(A)(1分)

A.=

B.>

C.<

D.<>

3.派生类的对象对它的基类成员中(A)是可以访问的。

(1分)

A.公有继承的公有成员

B.公有继承的私有成员

C.公有继承的保护成员

D.私有继承的公有成员类

4.下列运算符中,不能被重载的是(B)(1分)

A.[]

B..

C.()

D./

5.用关键字(A)标记的函数被称为虚函数。

(1分)

A.virtual

B.private

C.public

D.protected

6.多重继承是(B)(1分)

A.多个单继承的叠加

B.派生类有多个直接基类

C.多个派生类有唯一的基类

D.每个派生类最多只有一个直接基类,但它可以有多个间接基类

7.C++语言建立类族是通过(B)。

(1分)

A.类的嵌套

B.类的继承

C.虚函数

D.抽象类

二多选题(共4题,总分值8分,下列选项中至少有2个或2个以上选项符合题目要求,请在答题卡上正确填涂。

8.下面描述中,(BD)是正确的。

(2分)

A.虚函数是没有实现的函数

B.纯虚函数的实现是在派生类中定义

C.抽象类是只有纯虚函数的类

D.抽象类指针可以指向不同的派生类

9.作用域运算符通常用来(AD)。

(2分)

A.指定特定的类

B.指明从哪一个基类中导出来的

C.在某些成员函数中限定静态变量的可视范围

D.解决二义性

10.继承的优点是(ABC)。

(2分)

A.扩大类的使用范围,更便于使用类库

B.避免重写程序代码,提供有用的概念框架

C.把类组织成有条理的转化层次结构

D.通用继承的自然选择和重写使类进一步拓展

11.下列函数中,可以作为虚函数的是(BD)。

(2分)

A.普通函数

B.非静态成员函数

C.构造函数

D.析构函数

三填空题(共11题,总分值22分)

12.使用虚函数保证了在通过一个基类类型的指针(含引用)调用一个虚函数时,C++系统对该调用进行_________________,但是,在通过一个对象访问一个虚函数时,使用_________________(2分)

13.如果类A继承了类B,那么类A被称为_________________类,而类B又被称为_________________类。

(2分)

14.在默认情况下的继承方式为_________________。

(2分)

15.重载“[]”函数必须且只能带_________________个形参,且规定其参数的类型为_________________赋值操作。

(2分)

16.运算符的重载实际上是

_________________的重载。

(2分)

17.C++提供了_________________机制,允许一个派生类可以继承多个基类,甚至这些基类是互不相关的。

(2分)

18.引进虚基类的目的是_________________。

(2分)

19.重载函数在编译时表现出多态性是_________________联编;而虚函数则在运行时表现出多态性是_________________联编。

(2分)

20.纯虚函数的定义是在虚函数定义的基础上,再让函数等于_________0________。

(2分)

21.成员函数重载运算符需要的参数的个数总比它的操作数_____少____一个。

(2分)

22.C++的两种联编方式为:

____静态__联编和____动态_____联编。

(2分)

四判断题(共7题,总分值14分正确的填涂“A”,错误的填涂“B”。

23.在构造函数和析构函数中调用虚函数时采用动态联编,即它们所调用的虚函数是在派生类中重定义的虚函数。

(2分)( B )

24.程序中可以说明抽象类的指针或引用。

(2分)( A )

25.抽象类中只能有一个纯虚函数。

(2分)( B )

26.在派生过程中,派生类吸收包括构造函数和析构函数在内的所有基类成员。

(2分)( B )

27.重载后缀“++”运算符时多给出的一个int参数,在函数体中并不被使用。

(2分)( A )

28.增加一个基类的派生类,需要对基类进行根本改变。

(2分)( B )

29.下标运算符的重载提供了在C++中实现安全的数组下标的一种方法。

(2分)( A )

五综合题(共5题,总分值35分)

30.

(1)在C++中,分数不是预先定义的,需要建立一个分数类,使之具有下述功能:

能防止分母为0,当分数不是最简形式时进行约分以及避免分母为负数。

用重载运算符完成加法、减法、乘法以及除法等四则运算。

(7分)

31.在第

(1)题的基础上,用重载关系符“==”判断两个分数是否相等。

(7分)

32.定义一个点类(Point)、矩形类(Rectangle)和立方体类(Cube)的层次结构。

矩形包括长度和宽度两个新数据成员,矩形的位置从点类继承。

立方体类由长度、宽度和高度构成。

要求各类提供支持初始化的构造函数和显示自己成员的成员函数。

编写主函数,测试这个层次结构,输出立方体类的相关信息。

(7分)

33.使用虚函数编写程序求球体和圆柱体的体积及表面积。

由于球体和圆柱体都可以看做由圆继承而来,所以可以定义圆类Circle作为基类。

在Circle类中定义一个数据成员radius和两个虚函数area()和volume()。

由Circle类派生Sphere类和Column类。

在派生类中对虚函数area()和 volume()重新定义,分别求球体和圆柱体的体积及表面积。

(7分)

34.#include<iostream>

usingnamespacestd;

classA

{

public:

A(inti,intj){a=i;b=j}//基类构造函数

voidmove(intx,inty){a+=x;b+=y;}

voiddisp()

{

cout<<"("<<a<<","<<b<<")"<<endl;

}

private:

inta,b;

};

classB:

publicA

{

public:

B(inti,intj,intk,intl):

A(i,j),x(k),y(l){}//派生类构造函数

voiddisp()

{

cout<<x<<","<<y<<endl;

}

voidfun1(){move(13,15);}

voidfun2(){A:

:

disp();}//语句8

private:

intx,y;

};

intmain()

{

Aaa(11,12);//语句1

aa.disp();//语句2

Bbb(13,14,15,16);//语句3

bb.fun1();//语句4

bb.A:

:

disp();//语句5

bb.B:

:

disp();//语句6

bb.fun2();//语句7

return0;//语句8

}(7分)

六简答题(共7题,总分值14分)

35.简述在3种继承方式下基类成员的访问权限。

(2分)

36.什么叫做多态性?

在C++中是如何实现多态的?

(2分)

37.简述派生类构造函数的规则。

(2分)

38.比较两种运算符重载形式。

(2分)

39.在面向对象技术中,类与类之间的关系如何表示?

(2分)

40.重载前缀“++”运算符与重载后缀“++”运算符在形式上有什么不同?

(2分)

41.什么叫做抽象类?

抽象类有何作用?

抽象类的派生类是否一定要给出纯虚函数的实现?

(2分)

 

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

当前位置:首页 > 高等教育 > 艺术

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

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