zoukankan      html  css  js  c++  java
  • 设计模式桥接模式实现C++

    /*********************************
    *设计模式--桥接模式实现
    *C++语言
    *Author:WangYong
    *Blog:http://www.cnblogs.com/newwy
    ********************************/
    #include <iostream>
    using namespace std;
    
    class AbstractionImp
    {
    	public:
    	virtual ~AbstractionImp(){}
    	virtual void Operation() = 0;
    	AbstractionImp(){}
    }; 
    void AbstractionImp::Operation(){cout<<"AbstractImp ... imp"<<endl;}
    
    class Abstraction
    {
    	public:
    	virtual ~Abstraction(){}
    	virtual void Operation() = 0;
    	Abstraction(){}
    };
    class RefinedAbstraction:public Abstraction
    {
    	public:
    	RefinedAbstraction(AbstractionImp *imp){_imp = imp;}
    	~RefinedAbstraction(){}
    	void Operation(){_imp->Operation();}
    	private:
    	AbstractionImp *_imp;
    };
    
    class ConcreteAbstractionImpA:public AbstractionImp
    {
    	public:
    	ConcreteAbstractionImpA(){}
    	~ConcreteAbstractionImpA(){}
    	virtual void Operation(){cout<<"ConcreteAbstractorImpA...."<<endl;}
    };
    class ConcreteAbstractionImpB:public AbstractionImp
    {
    	public:
    	ConcreteAbstractionImpB(){}
    	~ConcreteAbstractionImpB(){}
    	virtual void Operation(){cout<<"ConcreteAbstractorImpB...."<<endl;}
    };
    int main()
    {
    	AbstractionImp *imp = new ConcreteAbstractionImpA();
    	Abstraction *abs = new RefinedAbstraction(imp);
    	abs->Operation();
    	return 0;
    }
    
    
  • 相关阅读:
    python学习(一)
    Ubuntu安装git
    HashMap源码分析
    nginx加密,访问接口认证
    MD5加密加盐
    xml转对象,对象转xml工具类
    java将对象转map,map转对象工具类
    阿里备战--面试搜集
    java将秒转换为时分秒工具类
    Spring和SpringMvc详细讲解
  • 原文地址:https://www.cnblogs.com/newwy/p/1855214.html
Copyright © 2011-2022 走看看