2021年07月23日来源:信管网 作者:cnitpm
为帮助广大软考中级软件设计师考生更好备考,信管网特整理汇总了软件设计师部分下午真题、答案及解析供考生查阅,并提供免费在线模拟答题、历年真题免费下载等服务,了解软件设计师更多备考信息请关注信管网。
相关推荐:
免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)
阅读下列说明和c++代码,应填入 (n) 处。
【说明】
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-6所示:
为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(strategy)设计的类图如图10-11所示:
其中,duck为抽象类,描述了抽象的鸭子,而类rubberduck、mallardduck、 cottonduck和redheadduck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类flybehavior与 quackbehavior为抽象类,分别用于表示抽象的飞行行为与发声行为:类flynoway与 flywithwings分别描述不能飞行的行为和用翅膀飞行的行为;类quack、squeak与 quacknoway分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。
【c++代码】
#include
using namespace (1) ; class flybehavior{
public: (2) fly()=0;
};
class quackbehavior{
public: (3) quack() = 0;
};
class flywithwings:public flybehavior{
public:void fly(){ cout<< “使用翅膀飞行 ! ” <
};
class flynoway:public flybehavior{
public:void fly(){ cout<< “不能飞行!”<
};
class quack:public quackbehavior{
public:void quack(){ cout<<“发出\‘嘎嘎\’声 !”<
};
class squeak:public quackbehavior{
public:void quack(){cout<<“发出空气与橡皮摩擦声!”<
};
class quacknoway:public quackbehavior{
public:void quack (){ cout<<“不能发声 !”<
};
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(){/*此处省略显示橡皮鸭的代码*/ }
};
//其他代码省略
查看答案与解析:www.cnitpm.com/st/245551202.html
温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关推荐