设计模式和工厂模式的结合

来源:互联网 发布:淘宝艾格旗舰店 编辑:程序博客网 时间:2024/06/06 02:03
//策略基类class COperation{public:intm_nFirst;intm_nSecond;virtualdoubleGetResult(){doubledResult=0;returndResult;}};//策略具体类—加法类class AddOperation:publicCOperation{public:AddOperation(inta,intb){m_nFirst=a;m_nSecond=b;}virtualdoubleGetResult(){returnm_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->GetResult();  } }  //客户端?int main() { int a,b;  cin>>a>>b;  Context *test=new Context('+');   cout<<test->GetResult()<<endl; return 0; } 

0 0
原创粉丝点击