2023年12月06日来源:信管网 作者:cnitpm
软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4
往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html
软件设计师案例分析每日一练试题(2023/12/5)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2023/12/5
点击查看:更多软件设计师习题与指导
软件设计师案例分析每日一练试题内容(2023/12/5)
[试题5]
阅读下列说明和C++代码,回答下列问题。
[说明]
某咖啡店卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表2-8所示。
表2-8 咖啡及配料的种类和价格
咖啡 | 价格/杯(¥) |
| 配料 | 价格/份(¥) |
蒸馏咖啡(Espresso) | 25 |
| 摩卡(Mocha) | 10 |
深度烘焙咖啡(DarkRoast) | 20 |
| 奶泡(Whip) | 8 |
[C++代码]
#include <iostream>
#include <string>
using namespace std;
consr int ESPRESSO_PRICE = 25;
const int DRAKROAST_PRICE = 20;
const int MOCHA_PRICE = 10;
const int WHIP_PRICE = 8;
classBeverage { //饮料
______: string description;
public: ______() {return description;}
______;};
class CondimentDecorator: public Beverage { //配料
protected: ______;};
classEspresso: 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(______) ;
beverage=new Whip (______) ;
cout<<beverage->getDescription()<<"¥"<<beverage->cost()end1;
return 0;
}
编译运行上述程序,其输出结果为:DarkRoast,Mocha,Whip ¥38。
信管网试题答案与解析:www.cnitpm.com/st/2479421060.html信管网考友试题答案分享:
信管网试题答案与解析:www.cnitpm.com/st/2479421060.html
温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关推荐