(1)简单工厂模式C++实现
简单工厂模式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++实现相关推荐
- 设计模式之简单工厂模式
一.概述 工厂模式具体包括了简单工厂.工厂方法.抽象工厂,它们是按照从简单到复杂的顺序排列的,属于设计模式中的创建型,其中简单工厂并不属于GOF的23中模式. 但是它是理解其它的工厂模式的一个很好 ...
- 设计模式 之美 -- 简单工厂模式
文章目录 1. 解决问题 2. 应用场景 3. 实现 C++实现: C语言实现 4. 缺点 1. 解决问题 举例如下: 我们实现一个卖衣服的功能,衣服的种类有很多:帽子,裤子,T恤... 每卖一种衣服 ...
- 设计模式之简单工厂模式(Simply Factory)摘录
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种 ...
- Java中的简单工厂模式(转)
Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...
- 《JAVA与模式》之简单工厂模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...
- 简单工厂模式(StaticFactoryMethod)
来华北电力大学数理系LSGO软件技术团队学习Coding,我通常第一个就讲"简单工厂模式",这一讲不仅仅是讲模式,更主要的是让大家体会什么是软件系统的"可复用" ...
- 设计模式之工厂类模式总结对比、简单工厂模式、工厂方法模式、抽象工厂模式、带反射的工厂模式、例子代码分析、最详细
1. 题目 假设某公司同时用SqlServer.MySql数据库,即会切换两数据库(不同数据库的sql语句有些许差异),同时,两数据库里均有对Users.Departments表的操作(sql代码不一 ...
- java工厂模式 uml_简单工厂模式的UML类图与源码实现(转) | 学步园
简单工厂模式的UML图 源码:Operation类 Java代码 packageOperation; publicabstractclassOperation { doublenumberA=0; d ...
- 设计模式(0)简单工厂模式
0 设计模式基础 0.0 设计模式的定义 先来看一下设计模式常见的书面定义: 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他 ...
- 大话设计模式之简单工厂模式
一.简单工厂模式 1.起因 最近在看一本大话设计模式一书,感觉上面讲述的富有故事性,引导你一步一步的走进设计模式的世界.首先我先看到的是简单工厂模式,对此我想给自己做一个总结,给自己做一个提示. 2. ...
最新文章
- CCF-201612-3 -权限查询
- 结构化程序设计03 - 零基础入门学习Delphi12
- [水煮 ASP.NET Web API2 方法论](1-6)Model Validation
- asp之ajax技术:responstext中文乱码
- Android NDK JNI C++ 3
- weak引用表原理探究
- 在spring-boot中使用@ConfigurationProperties
- Shell 批量复制文件名相近的文件到指定文件名中
- Hadoop I/O
- 单分支 两路分支和多分支的if结构_程序选择结构
- 基于opencv的身份证识别系统
- Vue SSR服务端渲染 vue预渲染
- 速领,阿里巴巴Java开发手册终极版
- 理光2014ad扫描服务器响应,理光mp2014ad扫描驱动和打印驱动
- pentaho安装配置
- 每天15分钟中度或快步走以燃烧100卡路里的热量
- 【无标题】百度地图的基本使用
- 物体检测之SNIPER
- 树莓派安装系统及常用软件设置
- 【C++】继承(C++重中之重)(学习与复习兼顾)