设计模式C++练习(1)_工厂模式
来源:互联网 发布:野兽派有淘宝店吗 编辑:程序博客网 时间:2024/05/01 17:55
#include <stdlib.h>#include <iostream>using namespace std;//抽象工厂模式class SingleCore { public: virtual void f()=0;};class SingleCoreA : public SingleCore { public: void f(){cout << "SingleCore1" << endl;}};class SingleCoreB : public SingleCore { public: void f(){cout << "SingleCore2" << endl;}};class MultiCore { public: virtual void f()=0;};class MultiCoreA : public MultiCore { public: void f(){cout << "MultiCore1" << endl;}};class MultiCoreB : public MultiCore { public: void f(){cout << "MultiCore2" << endl;}};class Factory { public: Factory(){} virtual SingleCore* CreateSingleCore()=0; virtual MultiCore* CreateMultiCore()=0;};class FactoryA : public Factory{ public: SingleCore* CreateSingleCore(){return new SingleCoreA();} MultiCore* CreateMultiCore(){return new MultiCoreA();} };class FactoryB : public Factory{ public: SingleCore* CreateSingleCore(){return new SingleCoreB();} MultiCore* CreateMultiCore(){return new MultiCoreB();}}; /*简单工厂 class Base { public: virtual void f()=0;};class D1 : public Base { public: void f(){cout << "D1" << endl;}};class D2 : public Base { public: void f(){cout << "D2" << endl;}};enum CTYPE {d1 = 2, d2}; class Factory { public: Base *CreateBase(CTYPE type) { if(type == 3) return new D2(); else if(type == 2) return new D1(); } };Factory* factory = new Factory(); Base* b = factory->CreateBase(d2); b->f(); b = factory->CreateBase(d1); b->f(); system("pause");*/int main() { Factory* factoryA = new FactoryA(); SingleCore* singleCoreA = factoryA->CreateSingleCore(); singleCoreA->f(); MultiCore* multiCoreA = factoryA->CreateMultiCore(); multiCoreA->f(); Factory* factoryB = new FactoryB(); SingleCore* singleCoreB = factoryB->CreateSingleCore(); singleCoreB->f(); MultiCore* multiCoreB = factoryB->CreateMultiCore(); multiCoreB->f(); system("pause");}
0 0
- 设计模式C++练习(1)_工厂模式
- 设计模式练习(1)——简单工厂模式
- 【设计模式练习】工厂模式
- 设计模式练习--工厂模式
- 设计模式_工厂模式
- 设计模式_工厂模式
- 设计模式_工厂模式
- 设计模式 - 简单工厂模式(C++)
- 设计模式c++(一)----工厂模式
- 设计模式----工厂模式(c++)
- 【设计模式C++】工厂模式
- 15_工厂设计模式
- 设计模式学习(一):简单工厂模式练习
- 设计模式练习(2)——工厂模式
- 设计模式练习(3)——抽象工厂模式
- 设计模式练习--抽象工厂模式
- 设计模式之简单工厂,工厂方法模式(c++)
- Java设计模式_抽象工厂模式
- A simple to "path" ElasticNet parameters ( in python)
- oracle的事务隔离级别。
- JAVA学习第十课(单例设计模式)
- synchronized和LOCK的实现
- 数字哑谜和回文
- 设计模式C++练习(1)_工厂模式
- java实现两个栈模拟实现队列出队
- atoi
- KMP算法分析
- hdu 5008(2014 ACM/ICPC Asia Regional Xi'an Online ) Boring String Problem(后缀数组&二分)
- 我的编程学习日志(3)--教你简单的理解数组和指针(对指针概念还模糊的看过来)
- 数据库中事务是什么意思?
- (集合和引用类型、基本数据类型赋值不一样)一个简单的java问题 先后的赋值问题
- Java中数据库连接池原理机制的详细讲解