23种设计模式之抽象工厂模式(创建型,2 AbstractFactory,c++实现)
2018-02-25 20:04
696 查看
#include <stdlib.h>#include <stdio.h>#include <iostream>
using namespace std;
class Fruit {public:
virtual void sayName() = 0;};
class SouthBanana :public Fruit {public:void sayName() {cout << "I am south banana" << endl;}};
class NorthBanana :public Fruit {public:void sayName() {cout << "I am north banana" << endl;}};
class SouthApple :public Fruit {public:void sayName() {cout << "I am south apple" << endl;}};
class NorthApple :public Fruit {public:void sayName() {cout << "I am north apple" << endl;}};
class AbstractFactory {public:virtual Fruit *createBanana() = 0;virtual Fruit *createApple() = 0;};
class SouthFactory :public AbstractFactory {public:Fruit *createBanana() {return new SouthBanana;}
Fruit *createApple() {return new SouthApple;}};
class NorthFactory :public AbstractFactory {public:Fruit *createBanana() {return new NorthBanana;}
Fruit *createApple() {return new NorthApple;}};
void main() {AbstractFactory *f = NULL;Fruit *fruit = NULL;
f = new SouthFactory;fruit = f->createBanana();fruit->sayName();delete fruit;fruit = f->createApple();fruit->sayName();delete fruit;delete f;
f = new NorthFactory;fruit = f->createBanana();fruit->sayName();delete fruit;fruit = f->createApple();fruit->sayName();delete fruit;delete f;}
相关文章推荐
- 23种设计模式之建造者模式(创建型,4 Builder,c++实现)
- 23种设计模式之原型模式(创建型,5 Prototype,c++实现)
- 23种设计模式之工厂模式(创建型,1 Factory,c++实现)
- 23种设计模式之单例模式(创建型,3 Singleton,c++实现)
- 桥接模式及C++实现 C++设计模式-AbstractFactory抽象工厂模式
- 23种设计模式的解析与C++实现及源码打包下载
- 设计模式C++之七(AbstractFactory抽象工厂模式)
- 几种创建型的设计模式概析【上】——Factory模式, AbstractFactory模式,Singleton模式【C++实现】
- 23种设计模式:现代C++实现 V2.0
- 面向对象设计模式之AbstractFactory抽象工厂模式(创建型)
- 23种设计模式——抽象工厂模式(创建型模式)
- C++设计模式-AbstractFactory抽象工厂模式
- 设计模式(c++)笔记之二(AbstractFactory抽象工厂模式)
- 设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
- 设计模式C++实现-简单工厂模式、工厂方法模式、抽象工厂模式
- 创建型模式之抽象工厂模式(AbstractFactory Pattern)C++实现******
- 面向对象设计模式之AbstractFactory抽象工厂模式(创建型)
- GoF23种设计模式之创建型模式之抽象工厂模式
- 23种设计模式的C++实现
- GoF23种设计模式之创建型模式之抽象工厂模式