首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16.3所示。 现采用装饰器(Decor
阅读下列说明C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16.3所示。 现采用装饰器(Decor
admin
2014-11-13
24
问题
阅读下列说明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
软件设计师下午应用技术考试
软考中级
相关试题推荐
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
[配置路由器信息]Currentconfiguration:!version11.3noservicepassword-encryption!hostnamerouter1
造成故障1的原因是什么?如何解决?1.路由器2上采用了NAT技术。NAT中的动态地址翻译和IP地址伪装有什么区别?2.图4-2是路由器2上的地址伪装表,将图4-2中(1)~(5)处空缺的信息填写在相应位置。
阅读以下说明,回答问题1至问题7。[说明]在IMail管理器中,选中MailUser邮件主机,然后在它右边的面板中选中General选项卡,出现邮件主机的配置窗口如图3-1所示。如果在IMail管理器中,选中Userl用户,然后在
阅读以下说明,回答问题1至问题6。说明ADSL是接入Internet的一种宽带技术。图2-1为一台带网卡的PC机采用ADSL接入Internet的网络结构图。
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?创建一个名字为v2的虚拟局域网的配置命令如下,请给出空白处的配置内容:Switch#(1)(进入VLAN配置模式)Switch(vlan)#(2)(创建v2并命名)Sw
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?在交换机中配置VLAN时,VLANl是否需要通过命令创建?为什么?
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(5)处的命令。Switch#Switch#config
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
随机试题
诊断脓毒症最可靠的依据是()
诊断早期肺源性心脏病的依据是
儿童保健中,儿童身长的意义是
关于视感知发育阶段,精细辨别物体阶段是指
患者,年轻男性,突发腹痛半小时就诊。既往胃溃疡、肾结石病史2年。查体:腹肌紧张,压痛、反跳痛。该患者首选的影像学检查为
以下哪项不是病理性黄疸的特点
黄某被派去深圳工作一年,临行时将电视机委托给同事张某保管和使用。后又告知张某可以适当价格卖掉。梁某得知此消息后,找到张某,表示想买下这台彩电,但又不愿多出钱。梁对张说,你给黄写封信,告诉他彩电的显像管出了毛病,图像不清,要求他降价出售。张某考虑到与梁某平时
某公司在初创时拟筹资200万元,现有甲、乙、丙三个方案可供选择,有关资料如下表所示:根据上述资料,回答下列问题:本案例中该公司筹资决策的依据是()。
衡量肺通气功能的指标有()。
基本国策
最新回复
(
0
)