简单工厂模式C++实现

例子来源于《大话设计模式》第一章——实现一个计算器

#include<iostream>
#include<string>using namespace std;class albase {private:int A,B;public:virtual int getAns() {};void setA(int a) {A=a;}void setB(int b) {B=b;}int getA() {return A;}int getB() {return B;}
};class add:public albase {public:int getAns() {return this->getA()+this->getB();}
};class sub:public albase {public:int getAns() {return this->getA()-this->getB();}
};class mul:public albase {public:int getAns() {//printf("here\n");return (this->getA())*(this->getB());}
};class div:public albase {public:int getAns() {if(this->getB()==0) {//printf("分母不能为0\n");return 0;}return this->getA()/this->getB();}
};class OF {public:albase* createOperate(char operate) {albase* oper;switch(operate) {case '+':oper = new add();break;case '-':oper = new sub();break;case '*':oper = new mul();break;case '/':oper = new div();break;}return oper;}
};int main() {albase* algo;OF oper;algo=oper.createOperate('*');(*algo).setA(2);(*algo).setB(8);cout<<algo->getAns()<<endl;return 0;
}

(1)简单工厂模式C++实现相关推荐

  1. 设计模式之简单工厂模式

    一.概述 工厂模式具体包括了简单工厂.工厂方法.抽象工厂,它们是按照从简单到复杂的顺序排列的,属于设计模式中的创建型,其中简单工厂并不属于GOF的23中模式.   但是它是理解其它的工厂模式的一个很好 ...

  2. 设计模式 之美 -- 简单工厂模式

    文章目录 1. 解决问题 2. 应用场景 3. 实现 C++实现: C语言实现 4. 缺点 1. 解决问题 举例如下: 我们实现一个卖衣服的功能,衣服的种类有很多:帽子,裤子,T恤... 每卖一种衣服 ...

  3. 设计模式之简单工厂模式(Simply Factory)摘录

    从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种 ...

  4. Java中的简单工厂模式(转)

    Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...

  5. 《JAVA与模式》之简单工厂模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...

  6. 简单工厂模式(StaticFactoryMethod)

    来华北电力大学数理系LSGO软件技术团队学习Coding,我通常第一个就讲"简单工厂模式",这一讲不仅仅是讲模式,更主要的是让大家体会什么是软件系统的"可复用" ...

  7. 设计模式之工厂类模式总结对比、简单工厂模式、工厂方法模式、抽象工厂模式、带反射的工厂模式、例子代码分析、最详细

    1. 题目 假设某公司同时用SqlServer.MySql数据库,即会切换两数据库(不同数据库的sql语句有些许差异),同时,两数据库里均有对Users.Departments表的操作(sql代码不一 ...

  8. java工厂模式 uml_简单工厂模式的UML类图与源码实现(转) | 学步园

    简单工厂模式的UML图 源码:Operation类 Java代码 packageOperation; publicabstractclassOperation { doublenumberA=0; d ...

  9. 设计模式(0)简单工厂模式

    0 设计模式基础 0.0 设计模式的定义 先来看一下设计模式常见的书面定义: 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他 ...

  10. 大话设计模式之简单工厂模式

    一.简单工厂模式 1.起因 最近在看一本大话设计模式一书,感觉上面讲述的富有故事性,引导你一步一步的走进设计模式的世界.首先我先看到的是简单工厂模式,对此我想给自己做一个总结,给自己做一个提示. 2. ...

最新文章

  1. CCF-201612-3 -权限查询
  2. 结构化程序设计03 - 零基础入门学习Delphi12
  3. [水煮 ASP.NET Web API2 方法论](1-6)Model Validation
  4. asp之ajax技术:responstext中文乱码
  5. Android NDK JNI C++ 3
  6. weak引用表原理探究
  7. 在spring-boot中使用@ConfigurationProperties
  8. Shell 批量复制文件名相近的文件到指定文件名中
  9. Hadoop I/O
  10. 单分支 两路分支和多分支的if结构_程序选择结构
  11. 基于opencv的身份证识别系统
  12. Vue SSR服务端渲染 vue预渲染
  13. 速领,阿里巴巴Java开发手册终极版
  14. 理光2014ad扫描服务器响应,理光mp2014ad扫描驱动和打印驱动
  15. pentaho安装配置
  16. 每天15分钟中度或快步走以燃烧100卡路里的热量
  17. 【无标题】百度地图的基本使用
  18. 物体检测之SNIPER
  19. 树莓派安装系统及常用软件设置
  20. 【C++】继承(C++重中之重)(学习与复习兼顾)

热门文章

  1. Nginx在嵌入式系统中的应用
  2. eclipse里面自动添加get和set方法
  3. 如何搭建大数据分析平台
  4. 大数据分析需掌握哪些方面
  5. 大数据可视化系统开发的作用
  6. 《Python自动化》学习笔记:shutil模块使用介绍
  7. [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口
  8. 夜间模式(模仿喜马拉雅FM)
  9. Java中static代码块,main函数,构造函数运行顺序
  10. tomcat并发优化