newwy
奋斗在IT路上的小蜗牛。一步一步往上爬,爬到小牛,在到大牛,然后是神牛,然后是犇,然后就可以离开IT行业,回归大自然了。 远离IT,珍爱生命!!! 记录学习的点滴。



/*********************************
*设计模式--工厂实现
*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;
}

posted on 2010-10-18 23:29  newwy  阅读(323)  评论(0编辑  收藏  举报