首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16.3所示。 现采用装饰器(Decor
阅读下列说明C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16.3所示。 现采用装饰器(Decor
admin
2014-11-13
36
问题
阅读下列说明C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16.3所示。
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16—5所示的类图。
【C++代码】
#include
{}include
USing namespace std;
const int ESPRESSO_PRICE=25;
const int DRAKROAST_PRICE=2 0;
const int MOCHA—PRICE=1 0;
const int WHIP_PRICE=8;
class Beverage(//饮料
(1):string description;
public:
(2) ()(return description;)
(23) ;
};
class CondimentDecorator:public Beverage(//配料
protected:
(4);
};
class Espresso:public Beverage(//蒸馏咖啡
publ ic:
EspresSO(){description:”Espresso”;}
int cost()(return ESPRESSO_PRICE;}
};
class DarkRoast:public Beverage(//深度烘焙咖啡
public:
DarkRoast()(descript ion=”DardRoast”;)
int cost()(return DRAKROAST_PRICE;)
);
class Mocha:publ ic CondimentDecorator {//摩卡
public:
Mocha(Beverage‘beverage)(thi S一>beverage=beverage; )
string getDescription()( return beverage一>getDescript ion()+”,Mocha”; )
int cost()( return MOCH@A@-pRICE+beverage一>cost(); )
);
class Whip:publ ic CondimentDecorator{//奶泡
public:
Whip(Beverage‘beverage) (thi S一>beverage=beverage;)
string getDescription() (return beverage一>getDescription()+”,Whip”; )
int cost()(return WHIP_PRICE+beverage一>cost();)
);
int main() {
Beverage*beverage=new DarkRoast();
beVerage=new Mocha((15));
beVerage=new Whip((6));
cout<
getDescription()<<”¥”<
cost()<
return 0;
}
编译运行上述程序,其输出结果为:DarkRoast,Mocha,Whip¥38
选项
答案
(1)abstract(2)StringgetDescription(3)abstractintcost() (4)Beveragebeverage(5)beverage(6)beverage
解析
由类图可知,Beverage是基类,Espresso、DarkRoast、CondimentDecorator是Beverage的派生类,Mocha、Whip又是CondimentDecorator的派生类。
(1)处应填/kdescfiption[~访问控制类型,可能为private或protected。在Beverage~派生类Espressol~%)]-始化函数中直接使用]"description,由此可知,在基类中,description[~访问控制类型为protected。如果为priVate,则在派生中不能使用。
在基类中先后动态建立了一个DarkRoast对象、Mocha对象和Whip对象,调用初始化函数,并输出。在Mocha类和Whip类中分别调用了基类的getDescription()cost()。
转载请注明原文地址:https://kaotiyun.com/show/j4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]A公司用1台Web服务器和1台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(Perso
在由L2TP构建的VPN中,主要由①和②两种类型的服务器构成。1.将图5-1中①和②处空缺名称填写在答题纸的相应位置。2.简要说明两种服务器的主要作用。某路由器(在图5-1中没有标出)的部分配置信息如下所示,请解释其中标有下划线部分的含
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?若网络用户的物理位置需要经常移动,应采用什么方式划分VLAN?
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?将Switcbl的端口6划入v2的配置命令如下,请给出空白处的配置内容:Switch1(config)#interfacefastEthemet0/6(进入端口6配置模式)S
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持root用户执行psaux|grepinit命令,得到init的PID是______。A.0
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持在系统控制台,______用Ctrl+Alt+Delete组合键来重新引导服务器。A.允许B
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。为上
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
随机试题
A.蕲蛇B.独活C.秦艽D.川乌治疗跌打损伤,宜选用的药物是
“听得道一声去也,松了金钏;遥望见十里长亭,减了玉肌”所用的修辞手法是
A.蛋白质B.脂肪C.肝糖原D.肌糖原体内储存量最多的能量物质是
组成图像矩阵中的基本单元的是
施工企业应纳所得税征税对象中,准予扣除的项目包括()。
感知能力发展的训练和干预的关键期在()。
如图,F是椭圆的一个焦点,A、B是椭圆的两个顶点,椭圆的离心率为,点C在x轴上,BC⊥BF,B、C、F三点确定的圆M恰好与直线相切.求证:n>m;
德育方法很多,榜样示范法是很重要的一种方法。下列选项中能体现这种方法的是()
通过“网上邻居”可以管理和使用局域网上的资源。()
目前主要应用于银行、税务、商店等的票据打印的打印机是
最新回复
(
0
)