工厂方法模式
来源:互联网 发布:方块乐器软件 编辑:程序博客网 时间:2024/04/30 02:42
#include <iostream>using namespace std;class Operation{ public: virtual double GetResult() = 0; void setA(double A) { m_numberA = A; } void setB(double B) { m_numberB = B; } protected: double m_numberA; double m_numberB;};class Add: public Operation{ double GetResult() { return (m_numberA + m_numberB); }};class Sub: public Operation{ double GetResult() { return (m_numberA - m_numberB); }};class Mul: public Operation{ double GetResult() { return (m_numberA * m_numberB); }};class Div: public Operation{ double GetResult() { if (m_numberB == 0) { cout << "m_numberB is 0" << endl; return -1; } return (m_numberA / m_numberB); }};class IFactory{ public: virtual Operation* CreateOperation() = 0; };class AddFactory: public IFactory{ public: Operation* CreateOperation() { return new Add; }};class SubFactory: public IFactory{ public: Operation* CreateOperation() { return new Sub; }};class MulFactory: public IFactory{ public: Operation* CreateOperation() { return new Mul; }};class DivFactory: public IFactory{ public: Operation* CreateOperation() { return new Div; }};int main(){ IFactory* pFactory = new AddFactory; Operation* pOper = pFactory->CreateOperation(); pOper->setA(11); pOper->setB(22); cout << pOper->GetResult() << endl; delete pFactory; delete pOper; return 0;}
0 0
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式---工厂方法模式
- 【模式】工厂方法模式
- 工厂方法,抽象工厂模式
- C#工厂模式-工厂方法
- 工厂模式 和工厂方法
- 工厂模式-C-工厂方法
- 工厂模式以及工厂方法
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 工厂模式(简单工厂、工厂方法)
- 简单工厂|工厂方法|抽象工厂模式
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- spring四种依赖注入方式
- bzoj1571【DAG上dp】
- 搜bigAutocomplete索下拉自动补全插件,Ajax+Thinkphp后台取数据的用法。
- 如何在VB中引用ADO?
- MapReduce之shuffle
- 工厂方法模式
- SlidingMenu+viewpager+fragment实例
- HashSet源码解读
- centos7+jenkins2.7安装与远程tomcat部署(二)
- CS231n 课程笔记翻译
- bzoj 2797 [Poi2012]Squarks set 数学
- python uiautomator 安装与框架编译说明(一)
- 君临天下服务端架构调研
- VB中ADODB常用方法和属性