成人教育 《面向对象程序设计》期末考试复习题及参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计复习题二
一、填空
1.程序的三种常见结构是、、,其中
结构是程序的默认结构。
2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称
为。
3.和“继承”匹配的概念是。
4.由类构建对象的过程称为。
5.抽象类是含有的类。
6.实现软件复用有两种方式,分别为、、。
7.有定义const int *p,p称为。
8.通过继承产生的类称为。
9.virtual关键字在C++中有两个用处,分贝是,和。
10.方法重载和实现了多态性。
11.请给出C++外的另外一种支持面向对象设计语言。
12.类的三个要素是、、。
13.对象释放前执行的函数是。
二、名词解释
1、构造函数
2、对象
3、运算符重载
4、析构函数
5. 面向对象
6. 继承
三、简答
1.比较类和结构体?
2.重载的意义?
3.抽象类的作用和意义?
4.组合与继承的区别?
四、辩析
1.任何父类对象都可以被子类对象替代。
2.public修饰符号破坏了数据的开放性。
3.private继承方式不能产生子类。
4.不能实例化的类一定是抽象类。
五、综合回答
1.简述多态的实现机制。
2.谈谈多态的意义。
3.面向对象程序设计思想的优点和缺点。
面向对象程序设计复习题二答案一、填空
(1)顺序
(2)选择
(3)循环
(4)顺序
(5)函数重载
(6)抽象
(7)实例化
(8)纯虚函数
(9)继承
(10) 组合
(9)和(10)不区分顺序
(11)常量指针
(12)派生类
(13)虚函数
(14)虚拟继承
(13)和(14)不区分顺序
(15)覆盖
(16)Java或者C#
(17)类的标识
(18)类的状态
(19)类的操作
(17)(18)(19)不区分顺序
(20)析构函数
二、名词解释
1、当类实例化时自动调用的成员函数,负责实现对象的初始化
2、按照数据类型分配的内存空间,可以实现方法的调用
3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型
4、对象空间释放之前自动调用的函数
5、是程序设计思想,相对面向过程而言更加强调封装性
6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类
三、简答
1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是
private,而结构体缺省为public
2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。
3、抽象类的主要作用是仅仅提供继承,而不能实例化;其意义在于高度抽象了同类实体的共性,使得软件复用更加丰富多样。
4、多态解决了父类指针或者引用管理任何子类对象的问题,使得代码管理尽可能的实现归一化。
四、辩析
1、符合里氏替换原则
2、public修饰符号允许外界方法访问本作用域内的成员,因此破坏了封装性
3、private方式派生的类不能完成父类的全部功能,所以不能产生子类。
4、类的构造函数设为非public属性即不能实例化
五、综合回答
略