简单工厂模式

  简单工厂模式就是一个工厂根据不同的产品类型可以生产出不同的产品,当增加新的产品时需要修改工厂类。如下所示Factory 根据不同类型(A、B)生产不同的产品(ProductA,ProcuctB)

#include <iostream>
using namespace std;

//产品类型
enum
ProductType { A = 1, B = 2 }; //产品基类
class
Product { public: virtual ~Product(){} virtual void create() = 0; }; //产品A
class
ProductA : public Product { public: void create(){ cout << "A create()" << endl;} }; //产品B
class
ProductB : public Product { public: void create(){ cout << "B create()" << endl;} }; //工厂
class
Factory { public: static Product* createProduct(ProductType type) {     switch(type)     {       case A:         return new ProductA();       case B:         return new ProductB();     }     return nullptr; } }; int main() {   Product* pa = Factory::createProduct(A);   Product* pb = Factory::createProduct(B);   pa->create();   pb->create();   delete pa;   pa = nullptr;   delete pb;   pb = nullptr; }
在孤独中思考,在思考中成熟,在成熟中升华
原文地址:https://www.cnblogs.com/laogaoyang/p/5852357.html