以下代码并非原创,如有侵权请联系删除,仅做编程理解使用.

#include <iostream>using namespace std;//抽象父类
class Fruit{public:virtual  void sayname()=0;};
//子类1
class Banana : public Fruit{public:virtual void sayname(){cout << "我是香蕉" << endl;}
};
//子类2
class Apple : public Fruit {public:virtual void sayname(){cout << "我是苹果" << endl;}};//本质是用到了多态,父类的指针指向子类的对象.
class  AbFactory {public:virtual Fruit * CreateProduct() = 0;
};class BananaFactory : public AbFactory{public:virtual Fruit * CreateProduct(){return new Banana;}
};class  AppleFactory : public AbFactory {public:virtual Fruit * CreateProduct(){return new Apple;}
};int main() {AbFactory * factory = NULL;Fruit * fruit =NULL;factory = new BananaFactory;fruit = factory->CreateProduct();fruit->sayname();delete factory;factory = new AppleFactory;fruit = factory->CreateProduct();fruit->sayname();delete factory;return 0;
}

2.c++模式设计-工厂模式相关推荐

  1. 干货分享:什么是Java设计工厂模式?

    本文主要会介绍三种工厂模式:简单工厂,工厂方法,抽象工厂.其中简单工厂并不属于 GoF 23 种设计模式,工厂方法和抽象工厂模式则是属于 GoF 23 种设计模式之中的 2 种.工厂模式作为一种非常常 ...

  2. php注册树模式,php基础设计模式大全(注册树模式、工厂模式、单列模式)

    废话不多说了,先给大家介绍注册树模式然后介绍工厂模式最后给大家介绍单列模式,本文写的很详细,一起来学习吧. php注册树模式 什么是注册树模式? 注册树模式当然也叫注册模式,注册器模式.之所以我在这里 ...

  3. Java设计模式之(工厂模式)--简单工厂模式--工厂方法模式--抽象工厂模式

    工厂模式: 工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 简单工厂模 ...

  4. 创建型模式——抽象工厂模式

    一. 实验目的与要求 1.练习使用工厂模式.设计相关的模拟场景并进行实施,验证模式特性,掌握其优缺点. 2.实验结束后,对相关内容进行总结. 二.实验内容 1.模式应用场景说明 手机CPU生产工厂:在 ...

  5. 设计模式---5(建造者模式的概念及其实现,建造者模式的角色与职责,建造者模式和工厂模式的区别)

    建造者模式 建造者模式的概念 Builder 模式也叫建造者模式或者生成器模式,是由 GoF 提出的 23 种设计模式中的一种. Builder 模式是一种对象创建型模式之一,用来隐藏复合对象的创建过 ...

  6. Head First设计模式读书笔记四 简单工厂 工厂模式 抽象工厂模式

    本文示例代码材料源自Head First设计模式 以前整理自己整理的链接: 工厂模式 https://blog.csdn.net/u011109881/article/details/56541580 ...

  7. 【设计模式】简单工厂模式+工厂方法模式+抽象工厂模式

    前提导论 故事 不采用工厂模式 简单工厂模式 工厂方法模式 故事 抽象工厂模式 故事结局 前提导论 为了学习设计模式时便于理解,我将用基于农夫和他的村子与森林为背景环境,讲一个故事时,阐述一个设计模式 ...

  8. 设计模式之模板模式和工厂模式

    模板模式和工厂模式的类别分类为"交给子类",即两种设计模式都是通过子类来实现具体的功能.主角是子类,而不像上次的适应设计模式,主角是连接器.这种差别着重体现在我们在工业设计中对需求 ...

  9. 创建型模式-抽象工厂模式

    抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最 ...

最新文章

  1. sqlyog.err文件可以删掉吗_苹果备忘录删掉的东西可以找回来吗?可以恢复被删内容的便签备忘录软件...
  2. java Design Patterns
  3. Common Subsequence
  4. 柱坐标系下的ns方程_麦克斯韦方程组小结
  5. DataV:可视化大屏展示神器实战分享
  6. EnjoyingSoft之Mule ESB开发教程第六篇:Data Transform - 数据转换
  7. golang的一款cms内容管理系统
  8. MVC实用架构设计(三)——EF-Code First(1):Repository,UnitOfWork,DbContext
  9. 方法的重载与重写_我们不一样,不一样,重写与重载
  10. 22-1图的遍历的源代码
  11. Python深度学习(Deep Learning with Python) 中文版+英文版+源代码
  12. 测试电池损耗的软件运行原理,鲁大师检测电池损耗原理解析
  13. HTML5颜色选择器(画布)
  14. 英语3500词(15/20)crime主题(2022.1.27)
  15. Linux常用命令--压缩解压命令
  16. Bridging signals(最长上升子序列)
  17. Python之任意阶幻方的构造
  18. Windows Server 2008 安装教程——图文小白版(附下载地址)
  19. LINUX留后门--教程(七)—— alias 后门
  20. 基于MFC的医院门诊系统设计与实现

热门文章

  1. 多目标遗传算法与优化的关系
  2. java excel 多个sheet_Java Excel导出多个工作表(添加多个sheet)
  3. nio java是什么_Java NIO 的前生今世 之一 简介
  4. pytorch以特征图的输入方式训练LSTM模型
  5. mysql 5.7 内存占用_MySQL 5.7 内存使用计算
  6. JS常见的几种数组去重方法
  7. GEETEST极验召集互联网大佬齐聚光谷,共同探讨交互安全问题
  8. mybatis 报错: Invalid bound statement (not found)
  9. jenkins结合ansible用shell实现自动化部署和回滚
  10. [golang note] 工程组织