每天一个设计模式: 桥模式(Bridge)
来源:互联网 发布:推荐书单 知乎 编辑:程序博客网 时间:2024/06/18 01:24
#ifndef ABSTRACTION_H#define ABSTRACTION_Hclass AbstractionImp;class Abstraction{public: virtual ~Abstraction() = 0; virtual void Operation() = 0;protected: Abstraction();private:};class RefinedAbstraction: public Abstraction{public: RefinedAbstraction(AbstractionImp* imp); ~RefinedAbstraction(); void Operation();protected:private: AbstractionImp* _imp;};#endif // ABSTRACTION_H
#include "abstraction.h"#include "abstractionimp.h"Abstraction::Abstraction(){}Abstraction::~Abstraction(){}RefinedAbstraction::RefinedAbstraction(AbstractionImp *imp){ this->_imp = imp;}RefinedAbstraction::~RefinedAbstraction(){}void RefinedAbstraction::Operation(){ this->_imp->Operation();}
#ifndef ABSTRACTIONIMP_H#define ABSTRACTIONIMP_Hclass AbstractionImp{public: virtual ~AbstractionImp(); virtual void Operation() = 0;protected: AbstractionImp();private:};class ConcreteAbstractionImp: public AbstractionImp{public: ConcreteAbstractionImp() ; ~ConcreteAbstractionImp(); virtual void Operation();protected:private:};#endif // ABSTRACTIONIMP_H
#include "abstractionimp.h"#include <iostream>AbstractionImp::AbstractionImp(){}AbstractionImp::~AbstractionImp(){}ConcreteAbstractionImp::ConcreteAbstractionImp(){}ConcreteAbstractionImp::~ConcreteAbstractionImp(){}void ConcreteAbstractionImp::Operation(){ std::cout<<"ConcreteAbstractionImp"<<std::endl;}
#include <iostream>#include "abstraction.h"#include "abstractionimp.h"using namespace std;int main(){ AbstractionImp* imp = new ConcreteAbstractionImp(); Abstraction* abs = new RefinedAbstraction(imp); abs->Operation(); return 0;}
0 0
- 每天一个(设计模式)-- Bridge模式(桥接模式)
- 每天一个设计模式: 桥模式(Bridge)
- 设计模式之Bridge(桥模式)
- 设计模式:桥接模式(Bridge)
- 设计模式:桥接模式(Bridge)
- 设计模式:桥接模式(Bridge)
- 设计模式:桥接模式(Bridge)
- 【设计模式】桥接模式(Bridge)
- 每天一个设计模式
- 设计模式之 Bridge 模式(桥接模式)
- 设计模式----Bridge模式
- 设计模式:Bridge模式
- 设计模式----Bridge模式
- 设计模式 -- Bridge模式
- 设计模式-Bridge模式
- 【设计模式】bridge模式
- 设计模式----Bridge模式
- 设计模式--------Bridge模式
- 移动H5前端性能优化指南
- 打开Eclipse/Myeclipse时:Workspace in use or cannot be created, choose a different one.–错误解决办法
- java封装导出Excel
- 用curl模拟登陆获取页面信息以及相关知识点
- fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
- 每天一个设计模式: 桥模式(Bridge)
- 自定义状态栏
- WEB扫描类产品测试--AppScan-WVS-WebRavor(8)
- js中使用正则表达式
- java处理高并发高负载类网站的优化方法
- 在 LINUX 命令行下下载网络上的文件
- CSS样式随笔总结
- PreparedStatement与SQL批处理
- 贪心算法--哈夫曼编码(java实现 )