首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。 【C++代码
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。 【C++代码
admin
2017-08-31
42
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表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://kaotiyun.com/show/4ODZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下某单位宽带网络接入的技术说明,根据要求回答问题1至问题6。【说明】接入网(AN)泛指用户网络接口(UNI)与业务节点接口(SNI)间实现传送承载功能的实体网络。其目标是建立一种标准化的接,方式,以一个可监控的接入网络,使用户能够获得话音、
下面是Web页面处理中3个步骤,请将其进行正确排序。①Web服务器接收到Web页面请求后,寻找所请求的Web页面,并将所请求的Web页面传送给Web浏览器。②Web浏览器接收到所请求的Web页面,并将它显示出来。③Web浏览器向一个
如果以前已经配置过这台服务器为VPN服务器,现在需要重新配置,该怎么操作?VPN按技术可分为哪三类?
PGP协议采用RSA和IDEA两种加密算法组成链式加密体系,这种方案的优点是(1)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(2)位的报文摘要,发送方用自己的RSA私钥对(3)进行加密,附加在邮件中进行传送。公钥只用来加密(4),文件是用
L2TP协议是一种基于(1)协议的二层隧道协议,它结合了Cisco的L2F和MicrosoftPPTP的优点。该协议报文在传输层封装(2)协议之上,为了保证传输的可靠性,L2TP协议对控制报文采取了(3)机制,并要求tunne1对端设备在隧道(tunne
如果在网络设计过程中划分了很多VLAN,则可采用VTP来简化其管理。交换机管理IP地址只能创建在(1)中,而VTP信息只能在(2)端口上传播。共享相同VLAN数据库的交换机构成一个(3)。不同交换机平台、不同的IOS版本支持的VLAN数量不同,从图6-18
上述配置中是否有问题?请指出并说明理由。解释配置中画线部分内容含义?
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。数据库系统存储了大量的数据,在发生意外的情况下,为了确保数据能够尽可能准确地恢复,数据库系统提供了备份和恢复的功能。通常,数据库管理系统都提供了全部数
阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。【说明】可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanO
双绞线可以制作成直连线和交叉线两种形式,在图3-12所示的拓扑结构中,交换机与路由器(Router)相连的双绞线应制作成什么形式?利用IEEE802.1QVLAN中继协议进行不同VLAN之间数据的路由时,需要在原有的以太网帧中加入4字节的IEEE
随机试题
固定红利模型是评估人员对被评估股票()
关于催乳素的说法错误的是
某社区年均人口为10万,年内肿瘤患者共400人,年内共死亡200人,其中60岁以上死亡90人;在全部死亡者中,因肿瘤死亡人数为50人,该社区年内共出生120人。该地肿瘤的死亡率为
对大中河流,当预测河段的最大弯曲系数>( )时,就需要视为弯曲河流。
你在执行一项特殊任务,情况紧急,需在短时间内做出决策,否则会贻误时机,造成极大损失。但按照公司的规定,重大决策需请示公司领导集体研究决定,可是你的主管上司偏偏联系不上,这时,你会()。
深入实际了解学生,是班主任做好学生操行评定的基本前提。()
Throughoutthetwentiethcentury,from1900onwards,peoplehavedreamtofthetechnologicaladvancesthattheadventofthenew
比较直接插入排序、起泡排序、简单选择排序、快速排序、堆排序、2一路归并排序和基数排序的算法性能,并填写下表:
Ofallthestudentsinourclass,sheis______.
Lookatthenotesbelow.Someinformationismissing.Youwillhearaphonecallaboutgoodsdelivery.Foreachquestion
最新回复
(
0
)