C++简单工厂模式:
它通过一个工厂类根据传入的参数,动态决定创建哪一个产品类的实例。
结构:
由一个工厂,一个产品父类(抽象产品),多个产品子类(具体产品)构成。
流程:
根据唯一的工厂对象中的函数参数,判断并自动new出一个产品子类对象并返回其产品父类的指针,这样利用父类的指针执行父类的虚函数,就可以动态绑定子类的重写函数,从而实现多态。实现代码如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
/*
* 简单的工厂模式实现
*/
class Factory_Vehicel
{
public:
virtual void debug(){
cout << "工厂模式的实现" << endl;
}
};
class Factory_Car:public Factory_Vehicel{
public:
void debug(){
cout << "工厂模式子类Car实现" << endl;
}
};
class Factory_Bus:public Factory_Vehicel{
public:
void debug(){
cout << "工厂模式子类Bus实现" << endl;
}
};
enum Factory_Type{
FACTORY_NONE,
FACTORY_CAR,
FACTORY_BUS
};
Factory_Vehicel* get_factory(Factory_Type _type)
{
switch(_type)
{
case FAC