//工厂方法用于创建对象统一的接口
//具体子类决定创建的对象
#include <iostream>
using namespace std;
class Product{
public:
Product(){}
virtual ~Product() = 0;
};
Product::~Product(){}
class Factory{
public:
Factory(){}
virtual ~Factory(){}
virtual Product* createProduct() = 0;
};
class Lenovo:public Product{
public:
Lenovo(){cout << "a Lenovo computer created" << endl;}
~Lenovo(){cout << "a Lenovo computer destoryed" << endl;}
};
class LenovoFactory:public Factory{
public:
LenovoFactory(){}
~LenovoFactory(){}
Product* createProduct(){
return new Lenovo();
}
};
int main(){
//根据具体的需要创建具体的工厂
Factory* f = new LenovoFactory;
//调用接口创建产品
Product* p = f->createProduct();
delete p;
delete f;
return 0;
}
工厂模式
最新推荐文章于 2024-06-04 15:02:40 发布