首页
登录
从业资格
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类
考试题库
2022-08-02
91
问题
某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员(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.产品
随机试题
ThereisanoldsayinginEnglish:"Laughteristhebestmedicine".Untilrec
秦始皇是中国历史上杰出的政治家、军事家。公元前221年,他统一中国,建立了历史上第一个统一的、多民族的、高度中央集权的(highlycentraliz
患者,男孩,12岁。因疲乏、发热、食欲不振、恶心、呕吐1周,加重2天就诊。发病以
教师考核主要是_____、_____、_____、_____四个方面。
Thechangeinthatvillagewasmiraculou
采取的隔离措施中,不正确的是A、不同病种患者应分室居住 B、探视患者时须穿隔离
人在每一瞬间,将心理活动选择了某些对象而忽略了另一些对象。这一特点指的是注意的(
人类学习和学生学习之间是一般与特殊的关系。
银行承兑汇票的承兑银行,应当按照票面金额向出票人收取()的手续费。A:千分之一
消防工程竣工验收中,对具备相应情形的特殊建设工程,( )必须向公安机关消防机构
最新回复
(
0
)