首页
登录
从业资格
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类
考试题库
2022-08-02
51
问题
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员(Waiter)调度厨师制作套餐。现采用生成器(Builder)模式实现制作过程,得到如图5-1所示的类图。
图5-1类图【C++代码】#include<iostream>#include<string>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
选项
答案
解析
(1)virtual void buildParts()=0
(2)this->pizzaBuilder=pizzaBuilder
(3)pizzaBuilder->buildParts()
(4)waiter->setPizzaBuilder(hawaiian_pizzabuilder)
(5)waiter->construct()
1.从类图中可以看到这个buildparts函数缺失,又子类中也有buildParts,所以它是虚函数,在扩展类中定义使用。
2.这部分填写设置构建器内容,在waiter类里面,定义pizzaBuilder。
3.从类图知道,构建方法应该是buildParts,当前对象是pizzaBuilder。
4.前面定义了对象waiter,新建hawaiian_pizzabuilder类,调用waiter的set方法。
5.调用waiter类中的construct方法,这样可以得到。
转载请注明原文地址:https://tihaiku.com/congyezige/2410683.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
某快递公司对每个发出的快递进行跟踪管理,需要建立一个快递跟踪管理系统,对该公司承
关于对SQL对象的操作权限的描述正确的是()A.权限的种类分为INSERT、D
关于对SQL对象的操作权限的描述止确的是()。A.权限的种类分为INSERT、
软件配置管理中,基线的种类不包括( )。A.功能基线 B.分配基线 C.产
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小
()不是RISC的特点。A.指令种类丰富 B.高效的流水线操作 C.寻址方式
()不是RISC的特点。A.指令种类丰富 B.高效的流水线操作 C.寻址方
软件配置管理中,基线的种类不包括()A.功能基线 B.分配基线 C.产品基线
软件配置管理中,基线的种类不包括()。A.功能基线 B.分配基线 C.产品
随机试题
StevenWeinbergisthatkindofpersonwhonotonlywouldliketohelpother
What’sthepassagemainlytalkingabout?[br][originaltext]You’veprobably
Youarerequiredto(fast)______theseatbeltwhendrivingsoastoprotectyou
Researchershavereconstructedanancienthumangenome(基因组)forthefirsttim
女性,24岁,查体B超发现右肾轻度萎缩,但血压正常,肾功能正常,肾动脉造影示右肾
高中化学课程学习的毕业要求是学生至少修满()学分。A.4 B.6 C.8
28,30,33,38,45,()A.53 B.54 C.56 D
雅尔塔体系与凡尔赛一华盛顿体系相比,相同点是( )。 A.都是帝国主义国
下列关于市盈率的论述,正确的有()。 A.不能用于不同行业公司的比较 B.
理财师在客户填写开户资料的环节不仅要了解并与客户建立关系,更需要尽快完成开户和理
最新回复
(
0
)