策略模式c++代码实现
2014-06-24 17:47
441 查看
策略模式--策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
// strategy.cpp : 定义控制台应用程序的入口点。 // #include<iostream> using namespace std; class Strategy { public: virtual void f() { cout << "Strategy::f" << endl; } }; class Context { public: Context() { s = NULL; } void setStategy(Strategy *s) { this->s = s; } void f() { if(s) { s->f(); } } Strategy *s; }; class ConcreteStrategy1:public Strategy { public: virtual void f() { cout << "ConcreteStrategy1::f" << endl; } }; class ConcreteStrategy2:public Strategy { public: virtual void f() { cout << "ConcreteStrategy2::f" << endl; } }; int main() { Context c; ConcreteStrategy1 c1; ConcreteStrategy2 c2; c.setStategy(&c1); c.f(); c.setStategy(&c2); c.f(); return 0; }
相关文章推荐
- 用C/C++实现SMC动态代码加密技术
- 三元组Triplet的C++代码(类)实现
- Singleton模式的C++实现研究(示例代码)
- 在C++下实现的程序拨号代码
- C++基本算法收集及代码实现
- 在JAVA中实现C++代码的复用
- 多边形顺时针方向判断公式及C++代码实现一
- C++ + WMI + DDK 实现获得显卡信息 代码
- Singleton模式的C++实现研究(示例代码)
- 使用C/C++实现Socket聊天程序(代码+实验报告)
- 顺序表SqList的C++代码实现
- 用C/C++实现SMC动态代码加密技术
- Singleton模式的C++实现研究(示例代码)
- 用C/C++实现SMC动态代码加密技术
- 键树的c++代码实现
- Symbian下用C++实现网页浏览的代码
- 单链表的C++代码实现
- 用C/C++实现SMC动态代码加密技术
- Symbian下用C++实现网页浏览的代码
- 使用C/C++实现Socket聊天程序(代码+实验报告)