/*********************************
*设计模式--工厂实现
*C++语言
*Author:WangYong
*Blog:http://www.cnblogs.com/newwy
********************************/
#include <iostream>
using namespace std;
class Product
{
	public:
	virtual ~Product() = 0;
	protected:
	Product();
};
Product::Product(){}
Product::~Product(){}
class ConcreteProduct : public Product 
{
	public:
		~ConcreteProduct();
		ConcreteProduct();
};


ConcreteProduct::ConcreteProduct()
{
	cout<<"ConcreteProduct ...."<<endl;
}
ConcreteProduct::~ConcreteProduct(){}

class Factory
{
	public:
		virtual ~Factory() = 0;
		virtual Product * CreateProduct() = 0;
	protected:
		Factory();
};
class ConcreteFactory: public Factory
{
	public:
		~ConcreteFactory();
		ConcreteFactory();
		Product * CreateProduct();
};

Factory::Factory(){}
Factory::~Factory(){}
ConcreteFactory::ConcreteFactory()
{
	cout<<"ConcreteFactory........."<<endl;
}
ConcreteFactory::~ConcreteFactory(){}
Product * ConcreteFactory::CreateProduct()
{
	return  new ConcreteProduct();
}
int main()
{
	Factory *fac = new ConcreteFactory();
	Product *p = fac->CreateProduct();
	return 0;
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2021-06-03
  • 2022-01-31
  • 2021-11-22
  • 2022-12-23
猜你喜欢
  • 2021-07-16
  • 2021-05-23
  • 2021-12-05
  • 2021-10-08
  • 2022-01-26
  • 2022-12-23
相关资源
相似解决方案