首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。 为支持将来模拟更多种类的
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。 为支持将来模拟更多种类的
admin
2011-01-29
32
问题
阅读下列说明和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://jikaoti.com/ti/U4i7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数________________。
根据《计算机软件保护条例》的规定,著作权法保护的计算机软件是指________________。
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。④处应填入?
设数组a[0..n—1,0..m一1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
下图是责任链设计模式的类图,该设计模式的目的是________。该图中,Handler和Handler之间是关联关系,Handler和ConcreteHandler之间是继承关系。
随机试题
关于磁共振图像矩阵的叙述,正确的是
下列关于脊髓被膜和脊髓腔的叙述错误的是
流式细胞术中未涉及的技术是
某ICU护士,毕业工作3年来,基本上是一个人护理某个病人,病人需要的全部护理由她全面负责,实施个体化护理。对ICU的重症病人护理以下错误的是
发包人应在收到承包人提交的最终结清后()天内核实,向承包人签发最终支付证书。
在比较利益模型中,两种参与贸易商品的国际比价()。
沙基惨案
新中国第一部宪法是()。
下列情形中,应当认定为立功的有()。
下列定义变量的语句中错误的是
最新回复
(
0
)