码迷,mamicode.com
首页 > 其他好文 > 详细

Factory Pattern(工厂模式)

时间:2015-05-01 22:36:32      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

Factory Pattern(C++实现)

/*Product.h*/
#ifndef PRODUCT_H
#define PRODUCT_H
class Product
{
public:
	virtual ~Product()=0;
protected:
	Product();
private:
};


class ConcreteProduct:public Product
{
public:
	~ConcreteProduct();
	ConcreteProduct();
protected:
private:
};
#endif

/*Product.cpp*/
#include "Product.h"
#include <iostream>

Product::Product()
{
	
}

Product::~Product()
{
	
}

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

ConcreteProduct::~ConcreteProduct()
{
	
}

/*Factory.h*/
#ifndef FACTORY_H
#define FACTORY_H

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

class ConcreteFactory:public Factory
{
public;
	~ConcreteFactory();
	ConcreteFactory();
	Product *CreateProduct();
protected:
private:
};
#endif

/*Factory.cpp*/
#include "Factory.h"
#include "Product.h"
#include <iostream>

Factory::Factory()
{
	
}

Factory::~Factory()
{
	
}

ConcreteFactory::ConcreteFactory()
{
	std::cout<<"ConcreteFactory..."<<std::endl;
}

ConcreteFactory::~ConcreteFactory()
{
	
}

Product *ConcreteFactory::CreateProduct()
{
	return new ConcreteProduct();
}
/*main.cpp*/
#include "Factory.h"
#include "Product.h"
#include <iostream>

int main()
{
	Factory *fac=new ConcreteFactory();
	Product *p=fac->CreateProduct();
	return 0;
}



Factory Pattern(工厂模式)

标签:

原文地址:http://blog.csdn.net/tlzhatao/article/details/45422385

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!