C++ 23种设计模式
- ■ 创建型模式(5种)
- ■ 工厂模式
- ■ 抽象工厂模式
- ■ 原型模式
- ■ 单例模式
- ■ 建造者模式
- ■ 结构型模式(7种)
- ■ 适配器模式
- ■ 桥接模式
- ■ 组合实体模式
- ■ 装饰器模式
- ■ 外观模式
- ■ 享元模式
- ■ 代理模式
- ■ 行为型模式(11种)
- ■ 责任链模式
- ■ 中介者模式
- ■ 策略模式
- ■ 模板模式
- ■ 状态模式
- ■ 观察者模式
- ■ 备忘录模式
- ■ 命令模式
- ■ 访问者模式
- ■ 解释器模式
- ■ 迭代器模式
■ 创建型模式(5种)
■ 工厂模式
示例一:
#include<iostream>
#include<string>
using namespace std;
enum CTYPE{COREA,COREB};
//定义一个基类单核
class SingleCore
{
public:virtual void show() = 0;
};
//单核A
class SingleCoreA:public SingleCore
{
public:void show() {cout << "SingleCore A" << endl;}
};
//单核B
class SingleCoreB:public SingleCore
{
public:void show() {cout << "SingleCore B" << endl;}
};
//唯一的工厂,可以生成A、B两种处理器核,在内部判断
class Factory {
public://基类的对象指针指向子类的对象,也就是多态SingleCore* CreateSingleCore(CTYPE ctype){//工厂内部判断if (ctype == COREA){//生产核Areturn new SingleCoreA();}else if (ctype == COREB){//生产核Breturn new SingleCoreB();}else {return NULL;}}
};
int main()
{Factory* factor = new Factory();factor->CreateSingleCore(COREA)->show();getchar();return 0;
}