zoukankan      html  css  js  c++  java
  • 设计模式工厂模式实现C++

    

    /*********************************
    *设计模式--工厂实现
    *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;
    }
    
    
  • 相关阅读:
    程序员的学习和积累
    【STL】-迭代器的用法
    【STL】-list的用法
    【STL】-deque的用法
    【STL】- vector的用法
    数据结构-各种排序算法
    【STL】-priority_queue的用法
    数据结构-二项队列
    IT公司100题-8-智力题
    IT公司100题-7-判断两个链表是否相交
  • 原文地址:https://www.cnblogs.com/newwy/p/1855198.html
Copyright © 2011-2022 走看看