试题详情

试题内容

阅读下列说明和 C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某快餐厅主要制作井出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员(Waiter)调度厨师制作套餐。现采用生成器(Builder) 模式实现制作过程,得到如图 5-1 所示的类图。

图5-1    类图
【C++代码】
#include
#include
using namespace std;

class Pizza {
private: string parts;
public:
void setParts(string parts) {     this->parts=parts;  }
string getParts() {  return parts;   }
};
class PizzaBuilder {
protected:Pizza* pizza;
public:
Pizza* getPizza() {  retum pizza;  }
void createNewPizza() { pizza = new Pizza();     }
(   1   );
}
class HawaiianPizzaBuilder :public PizzaBuilder {
public:
void buildParts() { pizza->setParts("cross +mild + ham&pineapple");   }
};
class SpicyPizzaBuider: public PizzaBuilder {
public:
void buildParts() { pizza->setParts("pan baked +hot + ham&pineapple");    }

}

Class Waiter{
Private:
PizzaBuilder* pizzaBuilder;
public:
void setPizzaBuilder(PizzaBuilder* pizzaBuilder) {   /*设置构建器*/
(  2  )
}
Pizza* getPizza() {  return pizzaBuilder->getPizza(); }
void construct() {     /*构建*/
pizzaBuilder->createNewPizza();
(  3  )
}
};

int main(){
Waiter*waiter=new Waiter();
PizzaBuilder*hawaiian pizzabuilder=new HawaiianPizzaBuilder()

(   4  );
(   5  );
cout<< "pizza: "<< waiter->getPizza()->getParts()<< endl;
}
程序的输出结果为:
pizza: cross + mild + ham&pineapple
查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

5题:

试题五
阅读下列说明和C++弋码,将应填入  (n)  处的字句写在对应栏内。
[说明]
某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-1所示。

为支持将来模拟更多种类的飞机,采用策略设计模式(strategy)设计的类图如图5-1所示。
图5-1中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly31和takeOff31分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行
2题:

[试题2]
阅读下列说明和图,回答下列问题。
[说明]
某会议策划公司为了方便客户,便于开展和管理各项业务活动,需要构建一个基于网络的会议预定系统。
[需求分析]
1.会议策划公司设有受理部、策划部和其他部门。部门信息包括部门号、部门名称、部门主管、电话和邮箱号。每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作。每个部门有一名主管负责管理本部门的事务和人员。
2.员工信息包括员工号、姓名、部门号、职位、联系方式和工资;其中,职位包括主管、业务员、策划员等。业务员负责受理会议申请。若申请符合公司规定,则置受理标志并填写业务员的员工号。策划部主管为已受理的会议申请制定策划任务,包括策划内容、参与人数、要求完成时间等。一个已受理的会议申请对应一个策划任务,一个策划任务只对应一个已受理的会议申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务。
3.客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,一个客户号唯一标识一个客户。一个客户可以提交多
6题:阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如下图所示。

现在采用组合( Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如下图所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图中的甜点菜单。类Menultem表示菜单中的菜式。

【Java代码】
3题:

试题三(共15分)
   阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】一
   某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要的功能
需求描述如下:
   (1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。
   (2)ACShop的客户分为两种:未注册客户和注册客户。
   (3)未注册客户可以浏览或检索出版物,将出版物添加到购物车中。未注册客户进行
注册操作之后,成为ACShop注册客户。
   (4)注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操作。结
账操作的具体流程描述如下:
   ①从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没有地址信
   息,则可以添加
5题:阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某公司的组织结构图如图5-1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5-2所示的类图。

图5-1  组织结构图
图5-2  类图<5题:阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图1-1所示。

【C++代码】
class Light {
public:
Light(string name) { /* 代码省略 */ }
void on() { /* 代码省略 */ }    // 开灯
void off() { /* 代码省略 */ }  // 关灯
};
class Command {
public: