2020软件设计师试题 软件设计师2020年试题
为帮助广大软考中级软件设计师考生更好备考,整理汇总了软件设计师部分下午试题、答案及解析供考生查阅,并提供免费在线模拟答题、历年试题免费下载等服务 阅读下列说明和c++代码,应填入 (n) 处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-6所示 为支持将来能够模拟更多种
为帮助广大软考中级软件设计师考生更好备考,整理汇总了软件设计师部分下午试题、答案及解析供考生查阅,并提供免费在线模拟答题、历年试题免费下载等服务
阅读下列说明和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(){/*此处省略显示橡皮鸭的代码*/ }
};
//其他代码省略
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>