//加法策略
class AddStrategy: public ArithmeticStrategy
{
public :
void Computing(Context *pContext)
{
cout<< "AddStrategyCompute Result is : " <<
pContext->GetA()<< " + " GetB()<
}
};
//减法策略
class SubStrategy: public ArithmeticStrategy
{
public :
void Computing(Context *pContext)
{
cout<< "SubStrategy Compute Result is : " <<
pContext->GetA()<< " - " GetB()<
}
};
//乘法策略
class MulStrategy: public ArithmeticStrategy
{
public :
void Computing(Context *pContext)
{
cout<< "MulStrategy Compute Result is : " <<
pContext->GetA()<< " * " GetB()<
}
};
//除法策略,这里仅仅做简单的例子,就不判断除数是否为0了
class DivStrategy: public ArithmeticStrategy
{
public :
void Computing(Context *pContext)
{
cout<< "DivStrategy Compute Result is : " <<
pContext->GetA()<< " / " GetA() /pContext->GetB())<
}
};
