首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。 【C++代码
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。 【C++代码
admin
2017-08-31
72
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。
【C++代码】
#include
#include
US ing namespace std;
const int ESPRESSO PRICE=2 5;
const int DRAKROAST PRICE=20;
const int MOCHA PRICE=10;
const int WHIP PRICE=8;
class Beverage{ //饮料
(1) :string description;
public;
(2) ()f return description;)
(3);
};
class condimentDecorator :public Beverage {//配料
protected:
(4);
};
class Espresso:public Beverage{ //蒸馏咖啡
public:
Espresso ( ) {description=“Espresso”;}
int cost(){return ESPRESSO—PRICE;}
};
class DarkRoast:public Beverage{ //深度烘焙咖啡
public:
DarkRoast( ){ description=“DardRoast”; )
int cost(){return DRAKROAST—PRICE;}
};
class Mocha :public condimentDecorator {//摩卡
public:
Mocha(Beverage*beverage) {this一>beverage=beVerage;}
string getDescription(){return beverage一>getDescription()+”,Mocha”;}
int cost( ){ return MOCHA PR工CE+beVerage一>COSt();}
};
class Whip :public condimentDecorator { //奶泡
public:
Whip(Beverage*beVerage){this一>beVerage=beVerage; }
string getDescription() {return beverage一>getDescription( )+“,Whip”; }
int cost() { return WHI P PRICE+beVerage一>cost( ); )
};
int meln() {
Beverage*beverage=new DarkRoast();
beverage=new Mocha( (5) );
beverage=new Whip((6));
cout<
getDescription ()<<”¥”<
cost() endl;
return 0;
}
编译运行上述程序,其输出结果为:
DarkRoast,Mocha,Whip Y38
选项
答案
(1)protected (2)virtual string getDescription (3)virtual int cost0=0 (4)Beverage*beverage (5)beverage (6)beverage
解析
本题考查了C++语言的应用能力和装饰设计模式的应用。
第(1)空很明显,是要说明属性description在类Beverage中的类型,应该是私有的、受保护的或公有的,从后面的程序可以看出,子类中继承使用了该属性,因此这里只能定义为受保护的,因此第(1)空的答案为protected。
第(2)空处也很明显,是要给出一个函数的定义,并且该函数的函数体是“returndescription;99 9从子类奶泡和摩卡中不难发现这个函数应该是getDescription,因此本空的答案为virtual string getDescription。
第(3)空需要结合后面各子类才能发现,在Beverage中还应该定义一个函数cost,而这个函数在Beverage中并没有实现,因此要定义为纯虚函数,所以第(3)空的答案为virtual int cost()=0。
第(4)空在类CondimentDecorator中,且是该类唯一的一条语句,而它的子类分别是奶泡和摩卡,在奶泡和摩卡这两个类中,都用到了Beverage*beverage,而在使用之前并没有说明,因此这就可以说明,Beverage*beverage是在父类CondimentDecorator中定义的,子类直接继承使用,因此第(4)空的答案为Beverage*beverage。
第(5)和第(6)空在主函数当中,其中第(5)空是要创建一个Mocha对象,应该调用的是类Mocha的构造函数。从类Mocha中,可以看出,其构造函数Mocha的参数是一个Beverage类型的对象指针,而在主函数中,开始就定义了一个Beverage类型的对象指针beverage,因此这里只需填写beverage即可。同理第(6)空的答案也是beverage。
转载请注明原文地址:https://www.kaotiyun.com/show/4ODZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面是Web页面处理中3个步骤,请将其进行正确排序。①Web服务器接收到Web页面请求后,寻找所请求的Web页面,并将所请求的Web页面传送给Web浏览器。②Web浏览器接收到所请求的Web页面,并将它显示出来。③Web浏览器向一个
在Internet上捕获并分析图8-16所示的网络中两个内部网络经由Internet通信的L2TPv2数据帧,请从以下4个选项中选择正确的答案填写到图8-17的(1)~(4)空缺处的相应位置。【供选择的答案】A.L2TPv2头
PGP协议采用RSA和IDEA两种加密算法组成链式加密体系,这种方案的优点是(1)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(2)位的报文摘要,发送方用自己的RSA私钥对(3)进行加密,附加在邮件中进行传送。公钥只用来加密(4),文件是用
请说出(1)、(2)、(3)、(4)、(5)对应行的含义。(1)图6-3是Windowsxp的DNS设置窗口,请指出图6-3中配置错误之处。(2)在Windowsxp系统中,根据图6-3中的相关信息,请写出默认路由。(3)图6-
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。备份就是对数据文件的备份,备份网络文件就是将所需要的文刊:复制到光盘、磁带或磁盘等存储介质上。这种备份网络文件的思路是否正确?请用200字以内的文字简
阅读以下关于以快速原型模型开发网管软件系统时的项目进度管理的叙述,回答问题1至问题5。【说明】某网络程序软件开发公司承接某项网络工程的网络流量统计管理软件开发任务。在进行可行性研究时,需要估算完成项目的时间进度。由于该软件公司近年来已经为采用快速
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
在如图1-23所示的网络拓扑结构图中,被路由协议可以使封装后的数据包通过互连网络进行中继传输,它由(1)使用。【供选择的答案】A.PCIB.RouterA和RouterBC.Internet网D.Rcrate
随机试题
背景某机场滑行道桥施工中,甲、乙两名电焊工在桥梁进行钢筋埋弧焊作业时未按规定穿戴绝缘鞋和手套。当甲右手拿起焊把钳正要往钢筋对接处连接电焊机的二次电源时,不慎触及到焊钳的裸露部分致使触电倒地。乙见此情景,立即拉开了甲手中握着的焊把钳,使甲脱离带电体,但由于
为昏迷病人做口腔护理不正确的是
患者,男性,53岁,腹痛腹胀,呕吐胃内容物及胆汁3小时。近1个月来时有腹胀。大便带黏液,大便次数增加,每日2~3次,无排便不尽及里急后重感。体检:T36℃,P90次/分钟,BP115/70mmHg;腹膨隆,未见肠型,腹软,右下腹可触及一斜行肿块,质韧压痛,
根据城镇土地使用税法律制度的规定,下列各项中,属于城镇土地使用税计税依据的是()。
根据社会保险法律制度规定,下列选项中应当依照工伤保险条例的规定参加工伤保险,为本单位全部职工或者雇工缴纳工伤保险费的有()。
某公司目前的股价S0为20美元,市场上有以该股票为标的资产的期权交易,看涨和看跌期权的执行价格X均为22美元,期权成本P为3美元,一年后到期。甲采取的是保护性看跌期权策略,乙采取的是抛补看涨期权策略,丙采取的是多头对敲策路。预计到期时股票市场价格的变动情况
2014年11月28日至29日,中央外事工作会议在北京召开。中共中央总书记、国家主席、中央军委主席习近平在会上发表重要讲话强调,要高举和平、发展、合作、共赢的旗帜,统筹国内国际两个大局,统筹发展安全两件大事,牢牢把握坚持和平发展、促进民族复兴这条主线,维护
某国研究人员报告说,他们在某地区的地层里发现了约2亿年前的陨石成分,而它们很可能是当时一颗巨大陨石撞击现在的加拿大魁北克省时飞散的痕迹。在该岩石厚约5厘米的黏土层中还含有高浓度的铱和铂等元素,浓度是通常地表中浓度的50至2000倍。另外,这处岩石中还含有白
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
TheVictorianshadbecomeaddictedtospeedandtheywantedtogoeverfaster.Timewasmoneyandefficiencybecame【C1】______im
最新回复
(
0
)