问题 问答题

阅读下列说明和C++代码,回答下列问题。
[说明]
某咖啡店卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表所示。

咖啡及配料的种类和价格

咖啡 价格/杯(¥) 配料 价格/份(¥)
蒸馏咖啡(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;
class Beverage //饮料
______: string description;
public: ______() return description;
______;;
class CondimentDecorator: public Beverage //配料
protected: ______;;
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(______) ;
beverage=new Whip (______) ;
cout<<beverage->getDescription()<<"¥"<<beverage->cost() end1;
return 0;

编译运行上述程序,其输出结果为:DarkRoast,Mocha,Whip ¥38。

答案

参考答案:protected
virtual string getDescription
virtual int cost()=0
Beverage* beverage
beverage
beverage

单项选择题
单项选择题