C++第13章答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++习题参考答案
第1章面向对象程序设计概论
一、名词解释
抽象封装消息
【问题解答】
面向对象方法中得抽象就是指对具体问题(对象)进行概括,抽出一类对象得公共性质并加
以描述得过程、
面向对象方法中得封装就就是把抽象出来得对象得属性与行为结合成一个独立得单位,并
尽可能隐蔽对象得内部细节。
消息就是面向对象程序设计用来描述对象之间通信得机制。一个消息就就是一个对象要求另一个对象实施某种操作得一个请求。
二、填空题
(1) 目前有面向过程得结构化程序设计方法与面向对象得程序设计方法两种重要得程序设计方法。
(2) 结构化程序设计方法中得模块由顺序、选择与循环3种基本结构组成。
(3) 在结构化程序设计方法中,程序可表示为程序=数据结构+算法; 而面向对象得程序设计
方法,程序可表示为程序=对象+消息。
(4) 结构化程序设计方法中得基本模块就是过程; 而面向对象程序设计方法中得基本模块就是类。
(5) 面向对象程序设计方法具有抽象性、封装性、继承性与多态性等特点、
三、选择题(至少选一个,可以多选)
(1) 面向对象程序设计着重于( B )得设计。
A。对象B。类C、算法D、数据
(2) 面向对象程序设计中,把对象得属性与行为组织在同一个模块内得机制叫做( C )。A、抽象 B。继承 C。封装D. 多态
(3) 在面向对象程序设计中,类通过( D )与外界发生关系。
A、对象 B. 类C、消息D。接口
(4) 面向对象程序设计中,对象与对象之间得通信机制就是( C )。
A、对象 B。类 C. 消息 D、接口
(5) 关于C++与C语言得关系得描述中,( D )就是错误得、
A、 C语言就是C++得一个子集B、C语言与C++就是兼容得
C. C++对C语言进行了一些改进
D. C++与C语言都就是面向对象得
【结果分析】
C语言就是面向过程得。C++语言就是一种经过改进得更为优化得C语言,就是一种混合型语言,既面向过程也面向对象、
(6) 面向对象得程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割得整体来处理。
A、算法 B。信息C、数据隐藏 D、数据抽象
(7) 下面( A )不就是面向对象系统所包含得要素。
A。重载 B、对象 C. 类 D。继承
【结果分析】
面向对象=对象+类+继承+消息+多态
(8) 下面说法正确得就是( BC )。
A。将数据结构与算法置于同一个函数内,即为数据封装
B。一个类通过继承可以获得另一个类得特性
C。面向对象要求程序员集中于事物得本质特征,用抽象得观点瞧待程序
D。同一消息为不同得对象接受时,产生得行为就是一样得,这称为一致性
【结果分析】
面向对象程序设计方法具有抽象性、封装性、继承性与多态性等特点。将数据结构与算法置于同一个类内,即为数据封装。同一消息为不同得对象接受时,产生得行为可能就是不一样得,这称为多态性、
(9) 下面说法正确得就是( AD )。
A。对象就是计算机内存中得一块区域,它可以存放代码与数据
B。对象实际就是功能相对独立得一段程序
C、各个对象间得数据可以共享就是对象得一大优点
D. 在面向对象得程序中,对象之间只能通过消息相互通信
【结果分析】
对象就是计算机内存中得一块区域。在对象中,不但存有数据,而且存有代码,使得每个对象在功能上相互之间保持相对独立、对象之间存在各种联系,但它们之间只能通过消息进行通信、
四、判断题
(1) 在高级程序设计语言中,一般用类来实现对象,类就是具有相同属性与行为得一组对象得集合,它就是创建对象得模板、( √ )
(2) C++语言只支持面向对象技术得抽象性、封装性、继承性等特性,而不支持多态性、( × ) 【结果分析】
C++语言不仅支持面向对象技术得抽象性、封装性、继承性等特性,而且支持多态性。
(3) 面向对象程序设计中得消息应该包含“如何做"得信息。( × )
【结果分析】
消息就是面向对象程序设计用来描述对象之间通信得机制。向对象“发送消息”只需告诉对象做什么,对象根据这个消息决定如何做。
(4) 一个消息只能产生特定得响应效果。( × )
【结果分析】
当一个对象发出消息时,由于接收对象得类型可能不同,所以,它们可能做出不同得反应。这样,一个消息可以产生不同得响应效果,这种现象叫做多态。
(5) 类得设计与类得继承机制实现了软件模块得可重用性。( √)
(6) C++语言与Java语言均不就是一个纯正得面向对象得程序设计得语言。( ×)
【结果分析】
Java语言就是一个纯正得面向对象得程序设计语言。
(7) 学习C++语言就是学习面向对象得程序设计方法得唯一途径。( × )
【结果分析】
程序设计方法就是独立于具体程序设计语言得一种技术,学习C++语言就是学习面向对象程序设计方法得重要途径之一、
(8) 在C++语言中,类就是支持数据封装得工具。( √)
五、简答题
(1)什么就是结构化程序设计方法?它有哪些优点与缺点?
【问题解答】
结构化程序设计方法着眼于系统要实现得功能,从系统得输入输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统得功能进行分解,来建立系统得功能结构与相应得程序模块结构,有效地将一个较复杂得程序系统设计任务分解成许多易于控制与处理得子任务,便于开发与维护。
随着程序规模与复杂性得增长,这种面向过程得结构化程序设计方法存在明显得不足之处。首先就是数据安全性问题、由于数据被每个模块所共用,因此就是不安全得,一旦出错,很难查明原因。其次就是可维护性及可重用性差。它把数据结构与算法分离为相互独立得实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新得错误。每一种相对于老问题得新方法都要带来额外得开销。另外,图形用户界面得应用程序,很难用过程来描述与实现,开发与维护也都很困难、
(2) 什么就是面向对象程序设计方法?它有哪些优点?
【问题解答】
面向对象得程序设计方法中,将程序设计为一组相互协作得对象而不就是一组相互协作得函数。在程序中,属性用数据表示,用来描述对象静态特征; 行为用程序代码实现,用来描述对象