大话设计模式学习 策略和简单工厂模式结合
2014-02-18 17:36
225 查看
//--------------------------------------------------------------------------- #pragma hdrstop #include "Unit6.h" #include<math.h> //--------------------------------------------------------------------------- class CashSuper //算法基类 { public: virtual double AcceptCash(double money) { } }; class CashNormal :public CashSuper //算法1 { public: virtual double AcceptCash(double money) { return money; } }; class CashRebate:public CashSuper //算法2 { private: double rebate; public: CashRebate(double s) { rebate = s; } virtual double AcceptCash(double money) { return money * rebate; } }; class CashReturn : public CashSuper //算法 3 { private: double moneyCondition; double moneyReturn; public: CashReturn(double moneycondition,double moneyreturn) { moneyCondition = moneycondition; moneyReturn = moneyreturn; } virtual double AcceptCash(double money) { double result = money; if(money > moneyCondition) { result = money - (floor(money/moneyCondition)*moneyReturn); } return result; } }; class CashContext { private : CashSuper *cs; public: CashContext(int i) { switch(i) { case 1: cs = new CashNormal(); break; case 2: cs = new CashRebate(0.8); break; case 3: cs = new CashReturn(300,100); break; default: break; } } void GetTotalMoney(double money) { cs-> AcceptCash(money); } }; #pragma package(smart_init)
相关文章推荐
- 设计模式学习之简单工厂模式和策略模式
- 【机器学习-西瓜书】八、集成学习:结合策略;多样性;总结
- CPU 策略学习:interactive分析,结合代码
- 设计模式学习之策略模式和简单工厂模式的区别和联系
- 《大话设计模式》之 简单工厂模式和策略模式的区别和相同之处
- 大话设计模式学习之工厂模式和策略模式
- 大话设计模式学习--策略模式(Strategy)
- C#学习笔记之 策略与简单工厂的结合
- 大话设计模式-简单工厂模式(学习笔记)
- 大话设计模式学习(一)——简单工厂模式
- 大话设计模式之策略模式(结合简单工厂),程序完善过程蕴含智慧
- 简单工厂模式 策略模式【设计模式】【学习总结】
- 大话设计模式-抽象工厂模式-简单工厂模式结合
- 集成学习三结合策略及(平均、投票、stacking)与多样性
- 策略模式,简单工厂模式结合
- 大话设计模式学习--简单工厂模式
- CPU 策略学习:interactive分析,结合代码
- 大话设计模式-简单工厂模式(学习笔记与java实现)
- 编程学习之简单工厂模式与策略模式
- 设计模式学习之策略模式和简单工厂模式的区别和联系