导航
您当前的位置:首页 > 计算机 > 软件水平
问题:

[问答题] 阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】 某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略(Strategy)模式实现该要求,得到如图5-1所示的类图。中级软件设计师,章节练习,系统开发和运行知识 图5-1 策略模式类图 【C++代码】#include <iostream>using namespace std;enum TYPE{NORMAL, CASH_DISCOUNT, CASH_RETURN};class CashSuper{public: (1);};class CashNormal : public CashSuper { //正常收费子类public: double acceptCash(double money) { retum money; }}; class CashDiscount : public CashSuper {private: double moneyDiscount; // 折扣率public: CashDiscount(double discount) { moneyDiscount=discount; } double acceptCash(double money) { retum money *moneyDiscount; }};class CashRetum : public CashSuper { // 满额返利private: double moneyCondition; // 满额数额 double moneyReturn; // 返利数额public: CashRetnm(doublemotieyCondition, double moneyReturn) { this->moneyCondition=moneyCondition; this->moneyReturn=moneyRetum; } double acceptCash(doublemoney) { double result =money; if(money>=moneyCondition) result=money-(int)(money/moneyCondition ) * moneyRetum; return result ; }};class CashContext {private: CashSuper *cs;public: CashContext(int type) { switch(type) { caseNORMAL: //正常收费 (2) ; break; case CASH_RETURN: //满300返100 (3) ; break; case CASH_DISCOUNT: //打八折 (4) ; break; }}double GetResult(double money) { (5) ; }};//此处略去main( )函数
答案解析:

相关问题
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved