大话设计模式_桥接模式c++实现
来源:互联网 发布:淘宝怎么删掉评价 编辑:程序博客网 时间:2024/06/06 18:47
//Abstraction.h#ifndef ABSTRACTION_H_#define ABSTRACTION_H_class AbstractionImp;class Abstraction{public:virtual void operation();protected:Abstraction();};<pre name="code" class="cpp">//Abstraction.cpp#include "Abstraction.h"#include "AbstractionImp.h"#include <iostream>using namespace std;Abstraction::Abstraction() {}void Abstraction::operation() {}RefinedAbstraction::RefinedAbstraction(AbstractionImp *imp) {_imp = imp;}void RefinedAbstraction::operation(){_imp->operation();}
class RefinedAbstraction :public Abstraction{public:RefinedAbstraction(AbstractionImp * imp);~RefinedAbstraction();void operation();private:AbstractionImp *_imp;};#endif
//AbstractionImp.h#ifndef ABSTRACTIONIMP_H_#define ABSTRACTIONIMP_H_class AbstractionImp{public:~AbstractionImp();virtual void operation() = 0;protected:AbstractionImp();};class ConcreteAbstractionImp :public AbstractionImp{public:ConcreteAbstractionImp();~ConcreteAbstractionImp();void operation();};#endif
//Abstraction.cpp#include "Abstraction.h"#include "AbstractionImp.h"#include <iostream>using namespace std;Abstraction::Abstraction() {}void Abstraction::operation() {}RefinedAbstraction::RefinedAbstraction(AbstractionImp *imp) {_imp = imp;}void RefinedAbstraction::operation(){_imp->operation();}
//AbstractionImp.cpp#include "AbstractionImp.h"#include <iostream>using namespace std;AbstractionImp::AbstractionImp() {}AbstractionImp::~AbstractionImp(){}void AbstractionImp::operation(){cout << "AbstractionImp...imp..." << endl;}ConcreteAbstractionImp::ConcreteAbstractionImp() {}ConcreteAbstractionImp::~ConcreteAbstractionImp() {}void ConcreteAbstractionImp::operation(){cout << "ConcreteAbstrationImp.." << endl;}
//main.cpp#include "Abstraction.h"#include "AbstractionImp.h"#include <iostream>using namespace std;int main(){AbstractionImp *imp = new ConcreteAbstractionImp();Abstraction *abs = new RefinedAbstraction(imp);abs->operation();system("pause");return 0;}
1 0
- 大话设计模式_桥接模式c++实现
- 大话设计模式_桥接模式
- 大话设计模式_命令模式c++实现
- 大话设计模式_中介模式c++实现
- 设计模式_桥接模式(C++)
- 大话设计模式--桥接模式 Bridge -- C++实现实例
- 《大话设计模式》java实现之桥接模式
- 大话设计模式_简单工厂模式
- 大话设计模式_策略模式
- 大话设计模式_装饰模式
- 大话设计模式_代理模式
- 大话设计模式_工厂方法模式
- 大话设计模式_原型模式
- 大话设计模式_模板方法模式
- 大话设计模式_外观模式
- 大话设计模式_建造者模式
- 大话设计模式_抽象工厂模式
- 大话设计模式_适配器模式
- 设计模式之单例、多例模式
- unity 延时调用方法
- mysql命令
- python2.7.10
- 修改数据库名 -----表名 ------属性名等
- 大话设计模式_桥接模式c++实现
- ShareSDK集成登陆功能
- [BZOJ1231] [Usaco2008 Nov]mixup2 混乱的奶牛
- 115 html IE9的a标签嵌套问题
- 关于协方差
- iOS学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
- VMware配置vxlan not ready 解决办法
- JS实现手机号码中间四位显示为*号
- 设计模式之原型模式