C++设计模式——装饰模式
来源:互联网 发布:网络传输协议 http 编辑:程序博客网 时间:2024/05/16 12:46
#include <iostream>using namespace std;class Component{public: virtual void Operation() = 0;};class ConcreteComponent : public Component{public: virtual void Operation() { cout << "I am no decoratored ConcreteComponent" << endl; }};class Decorator :public Component{private: Component *m_pComponent;public: Decorator(Component *p) { m_pComponent = p; } void Operation() { m_pComponent->Operation(); }};class ConcreteDecoratorA : public Decorator{public: ConcreteDecoratorA(Component *p) :Decorator(p) { } void AddedBehavior() { cout << "This is added behavior A." << endl; } void Operation() { AddedBehavior(); Decorator::Operation(); }};class ConcreteDecoratorB : public Decorator{public: ConcreteDecoratorB(Component *p) :Decorator(p) { } void AddedBehavior() { cout << "This is added behavior B." << endl; } void Operation() { AddedBehavior(); Decorator::Operation(); }};int main(){ Component *pComponent = new ConcreteComponent(); Decorator *pDecA = new ConcreteDecoratorA(pComponent); pDecA->Operation(); Decorator *pDecB = new ConcreteDecoratorB(pComponent); pDecB->Operation(); Decorator *pDecAB = new ConcreteDecoratorB(pDecA); pDecAB->Operation(); delete pDecAB; pDecAB = NULL; delete pDecB; pDecB = NULL; delete pDecA; pDecA = NULL; delete pComponent; pComponent = NULL; return 0;}
0 0
- 设计模式—装饰模式
- 设计模式—装饰模式
- 设计模式—装饰模式
- 设计模式—装饰模式
- 设计模式—装饰模式
- 设计模式——装饰者模式(c++)
- 设计模式——装饰者模式(C++)
- 软考设计模式——装饰模式(C++)
- 设计模式——装饰设计模式
- 设计模式——装饰设计模式
- 设计模式——装饰设计模式
- 【设计模式】——Decorator装饰模式
- 每日设计模式——装饰模式
- 设计模式——装饰者模式
- 设计模式——装饰模式
- 设计模式——装饰模式
- java设计模式——装饰模式
- 设计模式——装饰者模式
- 知乎的盈利模式
- linux下SVN配置笔记
- 对EditText输入字数限制并提示
- 10天精通Sass 之 Sass控制命令
- java/php/c#版rsa签名以及java验签实现openssl生成
- C++设计模式——装饰模式
- VS2013+CUDA7.5配置win7——64位
- Jmeter中正则表达式提取器使用详解
- 《Linux设备节点创建》用户空间ueventd创建设备节点规则
- 日志查看
- Android 数据存储笔记
- 利用ALS算法做用户产品推送
- Managing Audio Playback之Managing Audio Focus
- Jmeter特殊情况一:登录请求中密码加密的情况