首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。 【C++代码
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-1所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-4所示的类图。 【C++代码
admin
2017-08-31
60
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表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
软件设计师下午应用技术考试
软考中级
相关试题推荐
简述网络规划阶段需求分析的方法和解决的问题。(控制在100个字以内)在需求分析过程中应对已有网络的现状及运行情况作调研,如果要在已有的网络上作新的网络建设规划,如何保护用户已有投资?(控制在100个字以内)
SSL是一个协议独立的加密方案,在网络信息分组的应用层和传输层之间提供了安全的通道。SSL主要包括SSL修改密文协议、SSL握手协议、SSL告警协议、SSL记录协议等,其协议栈见图7-16。请根据SSL协议栈结构,将(1)~(4)处空缺的协议名称填写完整。
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。ADSL技术可以充分利用现有铜线网路,只要在用户线路两端加装ADSL设备即可为用户提供服务。ADSL系统构
阅读以下说明,回答问题1和问题2。【说明】某学校拟组建一个小型校园网,具体设计如下:1.设计要求。(1)终端用户包括:48个校园网普通用户;一个有24个多媒体用户的电子阅览室;一个有48个用户的多媒体教室(性能要求高于电子阅
阅读以下说明,回答【问题1】~【问题4】,将解答填入空白处。【说明】某小型单位的网络图如图5所示,Cisco路由器有ISDN模块,单位通过ISDN连接Internet。ISDN是指近年来供最终用户使用的一套数字服务,包括电话网络的数字化,以便ISP
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。请指出图7-15可能存在的关键路径是什么?(请用英文字母序号列出)
阅读以下关于以快速原型模型开发网管软件系统时的项目进度管理的叙述,回答问题1至问题5。【说明】某网络程序软件开发公司承接某项网络工程的网络流量统计管理软件开发任务。在进行可行性研究时,需要估算完成项目的时间进度。由于该软件公司近年来已经为采用快速
双绞线可以制作成直连线和交叉线两种形式,在图3-12所示的拓扑结构中,交换机与路由器(Router)相连的双绞线应制作成什么形式?利用IEEE802.1QVLAN中继协议进行不同VLAN之间数据的路由时,需要在原有的以太网帧中加入4字节的IEEE
随机试题
甲公司销售—批商品给丙公司,含税价款为750万元,丙公司到期无力支付款项,甲公司同意丙公司将其拥有的—项交易性金融资产(股权)用于抵偿债务,丙公司该“交易性金融资产—成本”的余额为500万元,“交易性金融资产—公允价值变动”的余额为100万元(借方),公允
Fl1125分度头主轴可在__________范围内调整主轴倾斜角。
嗜酸性粒细胞增多见于
36岁妇女,不孕3年,低热。查体发现盆腔一包块。血清CA125为485U/L。为明确诊断最有价值的处理应是
糖尿病肾病合并高血压首选
体内的药物及其代谢产物主要经下列哪些途径排出体外( )。
企业投资项目可行性研究市场分析不包括()。
该数列是()。计算样本平均数和样本成数的抽样平均误差,应选用的公式分别为()。
某期货公司拟从事金融期货经纪业务,在申请业务资格的前2个月,不属于公司应慎重考虑的实质性因素有()。
在亚太经济合作中,经济技术合作搞不好,贸易投资自由化也必然受到很大制约。亚太经合组织成员之间经济发展程度有很大的不同,人均国民生产总值最低与最高相差几十倍以上,只有大力加强经济技术合作,才能为发展中成员创造更多的发展机会,并扩大市场,使他们逐步缩小与发达成
最新回复
(
0
)