首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。 为支持将来模拟更多种类的
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。 为支持将来模拟更多种类的
admin
2011-01-29
23
问题
阅读下列说明和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://kaotiyun.com/show/aqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
对于以下编号为①、②、③的正规式,正确的说法是(35)。①(aa*|ab)*b②(a|b)*b③((a|b)*|aa)*b
设数组a[1..n,1..m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为()。
某应用系统采用防火墙技术来实现安全防护,在进行安全防护测试时,设计的测试点不包括______。
测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列(32)内容的详细信息。①测试目标和被测功能。②测试环境和其他条件。③测试数据和测试步骤。④测试记录和测试结果。
在结构化分析模型中,______描述了所有在目标系统中使用的和生成的数据对象。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
采用________________表示带符号数据时,算术运算过程中符号位与数值位采用同样的运算规则进行处理。
已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Compute-BOOK,并要求进行修改、插入操作时保证该视图只有计算机类的图书。CREATE(1)
对于逻辑表达式(bufc[i]>223&&bufc[i]<240&&i+2<totalbytes),需要______个测试用例才能完成条件组合覆盖。
下图是责任链设计模式的类图,该设计模式的目的是________。该图中,Handler和Handler之间是关联关系,Handler和ConcreteHandler之间是继承关系。
随机试题
大叶海藻的特征是
按交易目的划分,房地产市场可分为房地产使用市场和房地产()。
泥浆性能包括()。
其他制造费用的估算方法有()。
数控机床由()组成。
关于代办股份转让系统的说明,正确的是()。
农村社区化建设目前尚处于探索阶段。“村改居”是城镇化发展的具体表现,也是公共服务向农村社区延伸、让农民共享改革发展成果的必然要求。长期以来,城乡二元结构导致城市与农村割裂发展,农村地区发展滞后,公共服务能力薄弱。在城镇化大潮中的“村改居”,就是要打破城乡分
九一八事变
In1915EinsteinmadeatriptoGottingentogivesomelecturesattheinvitationofthemathematicalphysicistDavidHilbert.H
WithChristmasDayaroundthecorner,HongKong’sProvisionalRegionalCouncilannouncedthataChristmastreedecorationcompet
最新回复
(
0
)