C++实现抽象工厂模式
2012-11-09 20:35
323 查看
/* 抽象工厂模式:创建一系列相关或相互依赖的对象的接口,而无需指定他们具体的类 Created by Phoenix_FuliMa */ #include <iostream> using namespace std; class ProductA { public: virtual void display() {} }; class ProductA_1:public ProductA { public: void display() { cout<<"productA_1 is unhappy"<<endl; } }; class ProductA_2:public ProductA { public: void display() { cout<<"productA_2 is unhappy too"<<endl; } }; class ProductB { public: virtual void display() { } }; class ProductB_1:public ProductB { public: void display() { cout<<"productB_1 is unhappy.."<<endl; } }; class ProductB_2:public ProductB { public: void display() { cout<<"productB_2 is unhappy"<<endl; } }; class AbstactFactory { public: virtual ProductA* CreateProductA() = 0; virtual ProductB* CreateProductB() = 0; }; class Factory1:public AbstactFactory { public: ProductA* CreateProductA() { return new ProductA_1(); } ProductB* CreateProductB() { return new ProductB_1(); } }; class Factory2:public AbstactFactory { public: ProductA* CreateProductA() { return new ProductA_2(); } ProductB* CreateProductB() { return new ProductB_2(); } }; int main() { Factory1* factory1 = new Factory1(); Factory2* factory2 = new Factory2(); ProductA *producta1 = factory1->CreateProductA(); ProductA *producta2 = factory2->CreateProductA(); producta1->display(); producta2->display(); delete producta2; delete producta1; delete factory1; delete factory2; system("pause"); return 0; }
相关文章推荐
- 通过例子学设计模式之--抽象工厂模式以及使用场景说明(C++实现)
- 大话设计模式C++实现-第15章-抽象工厂模式
- 我所理解的设计模式(C++实现)——抽象工厂模式(Abstract Factory Pattern)
- 设计模式 - 抽象工厂模式(Abstract Factory) C++实现
- 23种设计模式之抽象工厂模式(创建型,2 AbstractFactory,c++实现)
- 设计模式学习(C++实现)2——抽象工厂模式
- 设计模式-抽象工厂模式 C++实现
- 使用抽象工厂模式实现数据库替换管理 C++
- 抽象工厂模式- c++实现
- 设计模式(二)之抽象工厂模式(Abstract Factory) C++实现
- 工厂模式(三)-抽象工厂模式(C++实现)
- 设计模式之 抽象工厂模式(C++实现)
- 大话设计模式--抽象工厂模式 Abstract Factory -- C++实现实例
- 我所理解的设计模式(C++实现)——抽象工厂模式(Abstract Factory Pattern)
- 设计模式之 抽象工厂模式的扩展(C++实现)
- 《大话设计模式》读书笔记之C++实现--chapter15抽象工厂模式
- 抽象工厂模式C++实现
- 抽象工厂模式 (C++实现)
- 大话设计模式--抽象工厂模式 Abstract Factory -- C++实现实例
- 设计模式--抽象工厂模式(C++实现)