cpp-interview/DesignPattern/AbstractFactoryPattern/Factory.h

25 lines
557 B
C
Raw Normal View History

//
// Created by xiemenghui on 2018/7/20.
//
#ifndef DESIGNPATTERN_FACTORY_H
#define DESIGNPATTERN_FACTORY_H
#include "product.h"
// 抽象工厂模式
class Factory {
public:
enum FACTORY_TYPE {
BENZ_FACTORY, // 奔驰工厂
BMW_FACTORY, // 宝马工厂
AUDI_FACTORY // 奥迪工厂
};
virtual ICar* CreateCar() = 0; // 生产汽车
virtual IBike* CreateBike() = 0; // 生产自行车
static Factory * CreateFactory(FACTORY_TYPE factory); // 创建工厂
};
#endif //DESIGNPATTERN_FACTORY_H