c++ 设计模式之 策略模式与工厂模式结合

#include <iostream>
using namespace std;

class COperation
{
public:
int m_first;
int m_second;
virtual double getResult()
{
return 0;
}
};
class addCOperation: public COperation
{
public:
virtual double getResult()
{
return m_first + m_second;
}
};

//
class Context
{
public:
COperation* m_op;
public:
Context(COperation *p)
{
m_op = p;
}
};

int main()
{
Context *op = new Context(new addCOperation);
op->m_op->m_first = 1;
op->m_op->m_second = 2;
cout<<op->m_op->getResult()<<endl;
return 0;
}
原文地址:https://www.cnblogs.com/wgwyanfs/p/7060854.html