策略模式c++实现

来源:互联网 发布:淘宝怎么申请天天特价 编辑:程序博客网 时间:2024/05/29 16:44
#include<iostream>using namespace std;class Algorithm{public:  virtual void run(){cout<<"A default algorithm."<<endl;};};class AlgorithmA : public Algorithm{public:  void run(){cout<<"Algrithm A"<<endl;};};class AlgorithmB : public Algorithm{public:  void run(){cout<<"Algorithm B"<<endl;};};class Context{public:  Context(Algorithm * a){algorithm = a;};  void run(){algorithm->run();};private:  Algorithm * algorithm;};int main(){  Context c(new AlgorithmB);  c.run();  return 0;}