信管网每日一练
软件设计师 - 每日一练 导航

软件设计师案例分析每日一练试题(2022/9/30)

2022年10月01日来源:信管网 作者:cnitpm

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2022/9/30)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2022/9/30

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2022/9/30)

阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】

某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。

咖啡
格/杯
配  料
格/份
蒸馏咖啡(Espresso)
25
摩卡(Mocha)
10
深度烘焙咖啡(DarkRoast)
20 奶泡(Whip)
8

现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图5-1所示的类图

【C++代码】
#include
#include
using namespace std;
const int ESPRESSO_PRICE = 25;
const int DRAKROAST_PRICE = 20;
const int MOCHA_PRICE = 10;
const int WHIP_PRICE = 8;
class Beverage {  //饮料
(1) :string description;
public:
(2) ( ){ 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_PRICE+beverage->cost( ); }
};
class Whip :public CondimentDecorator {   //奶泡
public:
Whip(Beverage*beverage) { this->beverage=beverage; }
string getDescription( ) {return beverage->getDescription( )+",Whip"; }
int cost( ) { return WHIP_PRICE+beverage->cost( ); }
};

int main() {
Beverage* beverage = new DarkRoast( );
beverage=new Mocha( (5) );
beverage=new Whip( (6) );
cout return 0;
}
编译运行上述程序,其输出结果为:
DarkRoast, Mocha, Whip ¥38
信管网试题答案与解析:www.cnitpm.com/st/3811911754.html

信管网考友试题答案分享:

信管网试题答案与解析:www.cnitpm.com/st/3811911754.html

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

客服咨询