设计模式C++实现笔记

Abstract Factory(工厂模式)-创建型模式

2018-10-28  本文已影响0人  lixin_karl

代码:

class AbstractProduct{

public:

    virtual void ShowProduct()= 0;

};

class ProductA : public AbstractProduct{

public:

    void ShowProduct()override{

cout<<"I am Product A"<<endl;

}

};

class ProductB:public AbstractProduct{

public:

    void ShowProduct()override{

cout<<"I am Product B"<<endl;

}

};

class Factory{

public:

    AbstractProduct *createProduct(int index){

switch (index)

{

case 1:

                return new ProductA();

case 2:

                return new ProductB();

}

}

};

int main()

{

Factory f;

f.createProduct(1)->ShowProduct();

f.createProduct(2)->ShowProduct();

}

上一篇 下一篇

猜你喜欢

热点阅读