C++工厂模式
来源:互联网 发布:九头蛇算法 编辑:程序博客网 时间:2024/05/22 15:29
#include <iostream>#include <string>using namespace std;class Operator{protected: int m_num1; int m_num2;public: void set1(int a) { m_num1=a; } void set2(int b) { m_num2=b; } int Get1() { return m_num1; } int Get2() { return m_num2; } virtual int GetResult(){ return 1 ;};};class OperatorAdd: public Operator{public: int GetResult() { return m_num1+m_num2; }};class OperatorSub: public Operator{public: int GetResult() { return m_num1-m_num2; }};class OperatorMul: public Operator{public: int GetResult() { return m_num1*m_num2; }};class OperatorDiv: public Operator{public: int GetResult() { if ( m_num2!=0 ) { return m_num1/m_num2; } return -1; }};class IFactory{public: virtual Operator* GetOperator(){ return NULL;};};class AddFactory: public IFactory{public: Operator* GetOperator() { return new OperatorAdd; }};class SubFactory: public IFactory{public: Operator* GetOperator() { return new OperatorSub; }};class MulFactory: public IFactory{public: Operator* GetOperator() { return new OperatorMul; }};class DivFactory: public IFactory{public: Operator* GetOperator() { return new OperatorDiv; }};void main(){ IFactory* OperatorFactory=new AddFactory; Operator* oper=OperatorFactory->GetOperator(); oper->set1(5); oper->set2(6); int ret=oper->GetResult(); cout<<ret<<endl;}
0 0
- 工厂模式-C-工厂方法
- 工厂模式(c++)
- C#-简单工厂模式
- C#-工厂方法模式
- 工厂模式 (C#)
- 【C#】简单工厂模式
- 工厂模式(C++)
- 【C#】简单工厂模式
- 工厂模式(C++)
- 工厂模式(C++)
- 设计模式----工厂模式(c++)
- 【设计模式C++】工厂模式
- 简单工厂模式(SimpleFactory-C#)
- 简单工厂模式(c++)
- 【C++】Chapter1:简单工厂模式
- 【C++】Chapter5:工厂方法模式
- 【C++】Chapter11:抽象工厂模式
- Objective C--工厂方法模式
- C++-模板模式
- warning: #550-D: variable "key" was set but never used
- Volley 原理(源码)分析
- iOS汽包聊天界面实现思路
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
- C++工厂模式
- java 之 javaweb
- java连接MySql数据库 zeroDateTimeBehavior
- iOS @2x 与@3x 图的详解
- Elasticsearch-SQL
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- 菜鸟学习React Native for Android 之通讯原理分析(JAVA调用JS)
- C++ Builder 调用Windows剪切板(复制、粘贴、剪切)
- CSS学习笔记 02 nav上下居中