首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。 为支持将来模拟更多种类的
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。 为支持将来模拟更多种类的
admin
2011-01-29
63
问题
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。
为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图5—1所示。
图5-l中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly( )和takeOff( )分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行行为与起飞行为;类SubSonicFly与SuperSonicFly分别捕述亚音速飞行和超音速飞行的行为;类Verti calTakeOff与LongDistanceTakeoff分别描述垂直起飞与长距离起飞的行为。
【C++代码】
#include
using namespace std;
class FlyBehavior{
public:virtual void fly( )=0;
};
class SubSonicFly:public FlyBehavior{
public: void fly( ){cout<<"亚音速飞行! "<
};
class SuperSonicFly:public FlyBehavior{
public: void fly( ){cout<<"超音速飞行!"<
};
Class TakeOffBehavior{
public:virtual void takeOff( )=0;
};
class VerticalTakeOff:public TakeOffBehavior{
public: void takeOff( ){cout<<"垂直起飞!"<
};
class LongDistanceTakeOff:public TakeOffBehavior{
public: void takeOff( ){cout<<"长距离起飞!"<
};
class AirCraft{
protected:
(1);
(2);
public:
void fly( ){ (3) }
void takeOff( ){ (4) ;};
};
class Helicopter:public AirCraft{
public:
Helicopter( ){
flyBehavior=new (5);
takeOffBehavior=new (6);
}
(7) {
if(! flyBehavior)delete flyBehavior;
if(!takeOffBehavior)delete takeoffBehavior:
}
};
//其它代码省略
选项
答案
(1)FlyBehavior flyBehavior (2)TakeOffBehavior takeOffBehavior (3)flyBehavior.fly( ) (4)takeOffBehavior.takeOff( ) (5)SuperSonicFly( ) (6)VerticalTakeOff( ) (7)Helicopter( )
解析
Helicopter类继承AirCraft类,引用了FlyBehavior类的对象flyBehavior和TakeOffBehavior类的对象takeOffBehavior。
因为AirCraft类没有实现fly( )和takeOff( ),所以需要在Helicopter类中添加FlyBehavior类的对象和TakeOffBehavior类的对象,故空(1)、空(2)应填FlyBehavior flyBehavior和TakeOffBehavior takeOffbehavior。
空(3)要实现flny行为故调用对象flyBehavior.fly( ),同理空(4)要实现takeOffBehavior行为故调用takeOffBehavior.takeOff()。
空(5)、空(6)考查多态调用,因为Helicopter类为垂直起飞和亚音速飞行,故应分别添SuperSonicFly( )和VerticalTakeOff( )。
空(7)应添写Helicopter类的析构函数,实现内存释放。
转载请注明原文地址:https://www.kaotiyun.com/show/aqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于软件测试分类的叙述中,不正确的是________________。
软件测试使用各种术语描述软件出现的问题,以下叙述正确的是______。A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
GB17859-1999《计算机信息系统安全保护等级划分准则》中将计算机安全保护划分为(53)个级别。
防火墙不具备__________功能。
计算机系统中,虚拟存储体系由______两级存储器构成。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是(15),它是一种重新组织的技术,可以简化构件的设计而无须改变其功能或行为。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
阅读以下说明,回答以下问题,将解答填入答题纸对应的解答栏内。【说明】某学校有三个校区,校区之间最远距离达到61km,学校现在需要建设校园网,具体要求如下:校园网通过多运营商接入互联网,主干网采用千兆以太网将使每个校区的中心节点连起来,每
随机试题
快乐之家
简述《诗经》及其艺术成就。
债券的柜台自营买卖比较分散,通常()
目前,外汇市场交易以()占主要地位。
金融工具从性质上讲包括()。
在科目汇总表账务处理程序下,登记总分类账的直接依据是科目汇总表。()
(1)在考生文件夹下有一个工程文件sjt3.vbp,窗体上已经有一个标签Label1,请添加一个单选按钮数组,名称为Opl,含三个单选按钮,它们的Index属性分别为0、1、2,标题依次为“飞机”、“火车”、“汽车”,再添加一个名称为Text1的文本框。窗
A、 B、 C、 C
WhenImetSmithyesterdayheaskedtobe______toyou.
ForgetMaryPoppins—aninetiesnanny(保姆)ismorelikelytoresembleMartinSmith,who,at22,isoneofthenewbreedofBritish
最新回复
(
0
)