C++设计模式之工厂模式
来源:互联网 发布:mac 无线鼠标 编辑:程序博客网 时间:2024/06/05 17:45
工厂模式
主要用于创建对象。新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。
优点 : 适用于不同情况创建不同的类时
不足:客户端必须要知道基类和工厂类,耦合性差
#include<stdio.h>#include<string.h>class Oper{ double a; double b;public: void SetA(double _x) {a = _x;} void SetB(double _y) {b = _y;} double GetA(){return a;} double GetB(){return b;} virtual double GetResult(){return 0;}};class Add : public Oper{public: double GetResult(){return (GetA()+GetB());}};class Sub : public Oper{public: double GetResult(){return (GetA()-GetB());}};class Fac{public: static Oper * CreateOper(char opers);};Oper * Fac::CreateOper(char opers){ Oper *oper; switch(opers) { case '+': oper = new Add();break; case '-': oper = new Sub();break; } return oper;}int main(){ double a = 10; double b = 10; Oper * p = Fac::CreateOper('+'); p->SetA(a); p->SetB(b); printf("--------------%f\r\n",p->GetResult()); return 0;}
0 0
- 设计模式之工厂模式(c++)
- C#--设计模式之简单工厂模式
- C#--设计模式之工厂方法模式
- 设计模式之简单工厂,工厂方法模式(c++)
- 设计模式----工厂模式(c++)
- 【设计模式C++】工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之---工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之-工厂模式
- 将dtb反编译成dts
- iOS10适配相关问题总结
- 边界扫描/JTAG
- Java中关于File的操作
- Centos搭建SVN 服务器
- C++设计模式之工厂模式
- mini2440 UART Print实验
- C语言的简单介绍
- Android官方培训课程学习(五): 与其他应用交互
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- 关于Genymotion 启动后 Android studio 找不到设备的问题
- 当Kali Rolling作为笔记本唯一一个系统
- 类似弹簧跳动的动画效果
- Linux下 目录/usr缩写 及 目录结构说明