C++策略模式
来源:互联网 发布:大数据技术架构详解 编辑:程序博客网 时间:2024/06/04 01:01
定义算法家族,分别封装起来,让它们可以相互替换,让算法变化不会影响到用户。策略模式与简单工厂模式基本相同,但简单工厂只能解决对象创建问题,对于经常变动的算法应使用策略模式。
代码实现:
#include<iostream>using namespace std;//策略基类class COperation{public:int m_nFirst;int m_nSecond;virtual double GerResult(){double dResult=0;return dResult;}};//策略具体类-加法类class AddOperation:public COperation{public:AddOperation(int a,int b){m_nFirst=a;m_nSecond=b;}virtual double GetResult(){return m_nFirst+m_nSecond;}};class Context{private:COperation* op;public:Context(char cType){switch(cType){case'+':op=new AddOperation(3,8);break;default:op=new AddOperation();break;}}double GetResult(){return op->GerResult();}};//客户端int main(){int a,b;char c;cout<<"输入操作数吧,中间空格间隔:"<<endl;cin>>a>>b;Context* test=new Context('+');cout<<test->GerResult()<<endl;return 0;}
2 0
- 策略模式(c++)
- 策略模式(C语言版)
- 【C++】Chapter2:策略模式
- Objective C--策略模式
- Objective C 策略模式
- Objective C--策略模式
- 策略模式(c++)
- object-c 策略模式
- 策略模式C语言实现
- 设计模式C++(Strategy策略模式)
- 设计模式C++(Strategy策略模式)
- C语言设计模式:策略模式
- C语言设计模式之策略模式
- 策略模式之C++版本
- 策略模式的简单应用(C#)
- 设计模式 -- 策略模式 + 简单工程模式(C++)
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- C语言和设计模式(策略模式)
- android一初始化edittext便获取焦点
- 网络设备驱动
- Linux下的UDP通信
- 编辑文章 - 博客频道 - CSDN.NET
- UVA 11992Fast Matrix Operations
- C++策略模式
- 循环的角度求均值
- UESTC 893 First Date 计算时间
- mysql的字符串日期转换函数
- eclipse debug 找不到host
- Cloneable 和 clone()的总结和使用
- 关于thinkphp的无线级别分类
- OpenCV基础篇之使用CMake管理工程
- Codeforces Round #188 (Div. 1) D. Game with Powers