首页 > 代码库 > C++简单工厂模式
C++简单工厂模式
主要用于创建对象。新添加类时不会影响以前的系统代码。原理是创建一个工厂类,根据输入条件在其内部产生不同的类,再根据不同类的virtual函数得到不同结果。
代码实现:
#include<iostream> using namespace std; //基类 class COperation { public: int m_nFirst; int m_nSecond; virtual double GetResult() { double dResult=0; return dResult; } }; //加法 class AddOperation:public COperation { public: virtual double GetResult() { return m_nFirst+m_nSecond; } }; //减法 class SubOperation:public COperation { public: virtual double GetResult() { return m_nFirst-m_nSecond; } }; //工厂类 class CCalculatorFactory { public: static COperation* Create(char cOperator); }; COperation* CCalculatorFactory::Create(char cOperator) { COperation* oper; switch(cOperator) { case'+': oper=new AddOperation(); break; case'-': oper=new SubOperation(); break; default: oper=new AddOperation(); break; } return oper; } //客户端 int main() { int a,b; cout<<"请输入两个操作数,空格分开:"<<endl; cin>>a>>b; COperation* op=CCalculatorFactory::Create('-'); op->m_nFirst=a; op->m_nSecond=b; cout<<op->GetResult()<<endl; return 0; }
C++简单工厂模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。