整理版-北邮面向对象C++试题(房鸣、赵晶玲) - 图文 下载本文

内容发布更新时间 : 2024/5/18 9:47:06星期一 下面是文章的全部内容请认真阅读。

二、是非判断题

C++/RUP/UML 1. 2. 3. 4. 5. 6.

使用C++语言只能编写面向对象的程序(×)

UML中的活动图可以描绘面向对象分析和设计的全过程的工作流程(√) 使用C++语言不能同时编写出面向过程和面向对象的程序(√) RUP的开发周期由三个阶段所构成。(×)(四个阶段 初始阶段-细化-构造-交付) RUP中的系统行为是对其全部的外来激励进行作用和反作用。(√) RUP中的系统行为可以从对象模型中获得。(×)

类 1. 2. 3. 4. 5. 6. 7.

一个类必然具有生成对象的能力(×) 一个类也可以接收消息(√)

调用类方法必须向该类的对象发消息(×) 抽象类是不包含任何属性的类(×)

当使用一个类方法时,消息是传向一个类的。(√) 只有属性的类也具有封装性。(×) 含有定性的属性的类就是抽象类。(×)

关系 1. 在包容关系中的被包容类也具有封装性(√) 2. 关联关系只是一个动作的抽象(×)

3. 关联关系中的作用名标识了该关联关系的终点对象的恰当地位(√) 4. 候选键是具有关联关系的两个类中属性的一部分(×) 5. 多重继承必然存在不确定问题(×)

6. 继承关系中的成员覆盖就是重载的一种形式(×)(重构就是√) 7. 继承关系中也存在有关联关系(√)

8. 复合包容关系中的被包容对象必须在包容对象被击活的同时构造(√) 9. 在关联关系的两端插入角色描述有助于对该关联关系的可读性(√) 10. 确定候选键是对关联关系模型优化的一种手段(√)

对象 1. 面向对象设计方法的一个重要目的便是实现“可重用软件的设计”(√)

2. 一个派生类对象的方法不能访问其继承的基类对象的某些成员是由于这些基类对象的成员不存在于派生类对象

中(×)

3. 一个派生类对象也可以向其继承的基类对象发消息(√) 4. 面向对象的分析方法中存在自顶向下,逐步求精的过程(×) 5. 一个对象的方法只能改变本对象的属性值。(×) 6. 一个对象内存在另一个对象的关系称为包容关系。(×)(原因:有可能是派生) 7. 一个对象所呈现的不同状态称为多态。(×)

8. 静态链接是在面向对象技术语言编译时建立的对象关系。(√) 9. 在面向对象技术系统分析中,问题陈述是获取对象的重要来源。(√) 10. 在面向对象技术系统分析中不使用数据流图。(×)

11. 一个以限制性继承的派生类对象访问其继承的基类对象时必须通过消息手段。(√)

状态 1. 状态图是反映了整个系统动态运行时状态变化的图像工具(√) 2. 状态的自动变迁是由于一个内部的事件所引发的(×)

消息必须含有返回信息(×)

三、选择题

对象 1. 面向对象技术是(A)

A. 指导构建软件的系列法则 B. 一种探索可被认同的新理论

C. 由Grady Booch 提出的一种动态的语言 D. 基于抽象与模块化原理的新技术 2. 一个对象的状态(A)

A. 是一个被称为状态的属性或属性集 B. 始终不发生常规的变化

C. 被描述成对象的属性和关系(个体) D. 仅是一个对象可能存在的条件 3. 一个可见的对象行为可以被模型化为该对象的(C)

A. 属性 B. 责任 C. 操作 D. 方法

4. 在一个对象系统内两个彼此间具有(C)结构的对象间的访问必须依赖消息手段

A. 同类对象 B. 完备的聚合关系 C. 拓展继承关系 D. 友元 5. 一个可见的对象行为可以被模型化为该对象的(D)

A. 属性 B. 责任 C. 操作 D. 方法

模型/建模 6. (B)项目对建模的要求度最小

A. 立交桥 B. 沙发 C. 列车 D. 光盘 7. 一个模型(C)

A.对于十分理解其工作内容的团队成员可以不使用 B. 必须是有结构的和动作的体系 C. 是一个实例化的简化 D. 一个构建精确计划的原由 8. 最好的模型将与(B)联系在一起

A. Java-Script代码 B. 实体 C. C++ D. 与面向对象开发者联系在一起的命题 9. 建模的根本目的是(D)

A. 有助于与一个系统的可视化B. 获得一个准备构建系统的模版C. 见证设计成果 D. 上述三条的总和

UML/RUP 10. 使用UML建模时(C)的处理不是其最基本特征

A. 迭代与增量 B. 用例驱动 C. 弹性设计 D. 以架构为核心

11. 在UML中,使用(A)词汇表示可以将具有共同用途的模型元素组成多个组

A. Package B. Class C. Encapsulation D. Generalization 12. 以下RUP中的(D)视聚焦在结构问题上

A. 用例 B. 处理 C. 实现 D. 逻辑

13. Rational推出的RUP方法中所倡导的迭代式开发模式的最根本目的是为了(B)

A. 降低开发成本 B. 降低开发风险 C. 减少开发时间 D. 节省开发的人力资源 14. 短语(B)可以最好的体现泛化关系

A. is part of B. is a kind of C. is a replica of D. is an inheritance of

类 15. 一个类(D)

A. 是一个对象的封装 B. 表现为一个对象的分层结构 C. 是一个对象的实例 D. 是一个对象的抽象定义

封装 16. 封装(B)

A. 允许对处于封装状态的内容进行直接处理 B. 涉及到信息的隐藏

C. 会导致维护成本的提高 D. 在实现时所引用的改变会影响到客户端 17. 封装(A)

A. 是指一种对象组成结构的存在形式 B. 是指只有属性的对象组成结构的存在形式

C. 是指只有方法的对象组成结构的存在形式D. 是指外界可以任意访问对象内成员的对象组成结构的存在形式

多态 18. 多态可以被描绘成(A)

A. 在一个接口上隐藏多个不同实现的形态 B. 继承 C. 信息放置形态 D. 泛化 19. 多态是(A)

A. 系统面对一个服务请求而设置了多个不同接口的形态B. 继承C. 信息放置形态D. 泛化

关系 20. 利用继承派生关系中的重构手段获得的新系统是为了(C) A. 仅仅延长该系统的寿命 B. 修正原系统内的缺陷

C. 允许多个不同版本的功能可以同时使用 D. 掩盖原系统内的缺陷 21. 将模块与计划合并为一体化的目的是(A)

A. 在可管理的单元上降低一些复杂程度 B. 构建的模块便于交流 C. 创建巨大且难于理解的系统 D. 系统的局部不能独立开发

四、分析题

1. 指出下列对象之间的关系

? 软件工程与面向对象的分析与设计方法( 包容 关系) ? 矛与盾( 关联 关系)

? 数字交换系统与通信系统( 继承 关系) ? 人与心脏( 包容 关系)

? Pentium芯片与Pentium IV芯片( 继承 关系) ? 计算机与磁带机( 关联? 关系) ? 多媒体与三维图形设备( 继承 关系) ? 石油与汽油( 关联? 关系) ? 道路与车辆( 关联 关系)

? 煤炭与碳元素( 继承 关系)-- 抽象类->继承 ? 地球与太阳( 关联 关系) ? 家庭影院与音箱( 包容 关系) ? 信息与印刷品( 继承 关系) ? 钥匙与锁 ( 关联 关系) ? 灯泡与灯丝( 包容 关系) ? 计算机与打印机( 关联 关系) ? 公司与雇员( 包容 关系) ? 建筑体与墙( 继承 关系)

2.试在下图给定的括号内写出已知关联联系得作用名(Role Name)。

张三(通知人)(被通知人)李四 人(老板)(雇员)

3. 阅读下述C++程序后试在其右侧对应的对象图中填充描述其关系的对象模型符号

4. 阅读下述C++程序后试在其右侧对应的对象图中填充描述其关系的对象模型符号,并试在题目的下方写出执行本

程序的输出结果。

还是

执行本程序的输出结果是:1 B继承A & B包含A???

A* p1 = new B(1); ? p1 ? p = NULL A* p2 = new B(2, (A*)p1); ? p2 ? p ? p1

5. 某大学推行完全学分制的学籍管理方式,其规定如下:学生在入学后的第一个学年内必须完成学绩分超过23分才能被允许(收到确认通知)进入第二学年的学习,否则将被按照肄业处理,进入第二学年后可以被允许(收到确认通知)进入下一个学年学习的最低学绩分数分别为27、30和30分(含对应分数者)。完成第四个学年的学绩分30分(含30)以上者可以准许毕业(获得毕业证书)。若在后三学年中的某一年中没有完成该学年规定的学绩分者,则可以在对应学年中重新学习一年,若仍不能达到规定学绩分者的学籍将被自动按肄业处理。试据上述脚本绘制出对应的状态图。(9分)

解:本题的状态图如下: