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;
    }
    
    
  • 相关阅读:
    添加组合索引时,做相等运算字段应该放在最前面
    常用位运算
    redis php扩展简单使用
    mysql优化之简单概念
    mysql优化之sql语句优化
    简单画图 gd库函数
    win下 安装mongodb
    伪静态之实际应用
    tomcat win简单配置
    docker
  • 原文地址:https://www.cnblogs.com/newwy/p/1855214.html
Copyright © 2011-2022 走看看