C++简单工厂模式

C++简单工厂模式:
它通过一个工厂类根据传入的参数,动态决定创建哪一个产品类的实例。
结构:
由一个工厂,一个产品父类(抽象产品),多个产品子类(具体产品)构成。
流程:
根据唯一的工厂对象中的函数参数,判断并自动new出一个产品子类对象并返回其产品父类的指针,这样利用父类的指针执行父类的虚函数,就可以动态绑定子类的重写函数,从而实现多态。实现代码如下:


```cpp
#include 
#include 
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 FACTORY_CAR:
            return new Factory_Car();
            break;
        case FACTORY_BUS:
            return new Factory_Bus();
            break;
        default:
            break;
    }
    return new Factory_Vehicel();
}

void test01()
{
    Factory_Vehicel *factoryVehicel = get_factory(FACTORY_CAR);
    factoryVehicel->debug();
}
int main() {
    test01();
    return 0;
}
运行输出结果如下:

```cpp
D:\c_c++\cplusplus_const\cmake-build-debug\cplusplus_const.exe
工厂模式子类Car实现

你可能感兴趣的:(C++)