试题详情

试题内容

试题六
阅读下列说明和C++代码,应填入  (n)  处。
【说明】
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-6所示:

为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图10-11所示:

其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck和RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与 QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为:类FlyNoWay与 FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与 QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。
【C++代码】
#include<iostream>
using namespace  (1)  ;    class FlyBehavior{
public:  (2)   fly()=0;
};
class QuackBehavior{
public:  (3)   quack() = 0;
};
class FlyWithWings:public FlyBehavior{
public:void fly(){  cout<< “使用翅膀飞行 ! ”  <<endl;  }
};
class FlyNoWay:public FlyBehavior{
public:void fly(){  cout<< “不能飞行!”<<endl;}
};
class Quack:public QuackBehavior{
public:void quack(){  cout<<“发出\‘嘎嘎\’声  !”<<endl;  }
};
class Squeak:public QuackBehavior{
public:void quack(){cout<<“发出空气与橡皮摩擦声!”<<endl;   }
};
class QuackNoWay:public QuackBehavior{
public:void quack  (){  cout<<“不能发声  !”<<endl;  }
};
class Duck{
protected:
FlyBehavior*  (4)  ;
QuackBehavior*  (5)  ;
public:
void fly(){  (6)  ;  }
void quack(){  (7)  ;);
virtual void display()=0;
};
class RubberDuck:public Duck{
public:
RubberDuck(){
flyBehavior=new   (8)  ;
quackBehavior=new  (9)  ;
}
~RubberDuck(){
if(!flyBehavior)delete flyBehavior;
if(!quackBehavior)  delete quackBehavior;
}
void display(){/*此处省略显示橡皮鸭的代码*/   }
};
//其他代码省略



查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

3题:

试题三
阅读下列说明和图,回答问题1至问题3。
【说明】
某图书管理系统的主要功能如下:
1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。
2.资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或者磁带)。
3.读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。
现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。表10-4给出了[说明]中出现的所有名词。
8题:

试题一
阅读以下说明和数据流图,回答问题1至问题4。
[说明]
现准备为某银行开发一个信用卡管理系统CCMS,该系统的基本功能为:
1.信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额:否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。
2.信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。
3.信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。
4.交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。
下图(a)和(b)分别给出了该系统的顶层数据流图和0层数
6题:

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该要求,得到如图6-1所示的类图。



【Java代码】
import java.util.*;
Class Address{
public void street(){//实现代码省略}
public void zip(){//实现代码省略}
public void city(){//实现代码省略}
∥其他成员省略
}
class DutchAddress{<
3题:阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某高校图书馆欲建设一个图书馆管理系统,目前已经完成了需求分析阶段的工作。功能需求均使用用例进行描述,其中用例“借书(Check Out Books)”的详细描述如下。
参与者:读者(Patron)。
典型事件流:
1.输入读者ID;
2.确认该读者能够借阅图书,并记录读者ID;
3.输入所要借阅的图书ID;
4.根据图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录;
5.通知读者图书归还时间。
重复步骤3~5,直到读者结束借阅图书。
备选事件流:
2a.若读者不能借阅图书,说明读者违反了图书馆的借书制度(例如,没有支付借书费用等)
①告知读者不能借阅,并说明拒绝借阅的原因;
②本用例结束。
4a.读者要借阅的书无法外借
①告知读者本书无法借阅;
②回到步骤3。
说明:图书的归还时间
1题:综合技能
试题一(共15分)
阅读下列说明,将解答填入题纸的对应栏内。
【说明】
某医疗护理机构为老年人或有护理需求者提供专业护理,现欲开发一基于web的医疗管理系统,以改善医疗护理效,该系统的主要要功能如下:
(1)通用信息查询,客广提交通用信息查询请求,意而通用信表表,返回查询结果
(2)医生聘用。医生提出成/职中申,交由去前行用事事,更新医生表,并给医生反聘用解聘结果:聊除解聘医生的出诊发排
(3)预约处理。医生安排出诊时向间,存入医生出诊时间表,根据客户提交的预约查询请求,查在职医生及其出诊时间等约所需数据并返同问:创建预约,提交预约请求,在在预约表中新增预约记录,更新所约医生出诊时间并给医生发送约通知给客户反馈预约结果。
(4)药品管理。医生提交处方,根据药品名称从药品数据中查询相关药品库存信息开出药品,更新对应药品的库存以及预约表中的治疗信息;给医生发送“药品已开出”反馈。
(5)报表创建。根据主管提交的报表查询请求(报表类型和时间段),从预的数、通用信息、药品库存数据、医生以及医生出
1题:阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大学为进一步推进无纸化考试,欲开发一考试系统。系统管理员能够创建包括专业方向、课程编号、任课教师等相关考试基础信息,教师和学生进行考试相关的工作。系统与考试有关的主要功能如下。
(1)考试设置。教师制定试题(题目和答案),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储。
(2)显示并接收解答。根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的考试提醒时间进行提醒,并接收学生的解答。
(3)处理解答。根据答案对接收到的解答数据进行处理,然后将解答结果进行存储。
(4)生成成绩报告。根据解答结果生成学生个人成绩报告,供学生查看。
(5)生成成绩单。对解答结果进行核算后生成课程成