c++设计模式之装饰模式
来源:互联网 发布:计算机病毒预防软件 编辑:程序博客网 时间:2024/06/03 15:39
装饰器模式
动态地给一个对象添加一些额外的工作职责,就增加功能来说,装饰器模式比继承的子类更灵活。
装饰模式的类结构图:
兑现代码:
#include <string>#include <iostream>using namespace std;class Car{public:virtual void showcar()=0;};class RunCar:public Car{public:void showcar(){cout<<"Run..."<<endl;}};class SwimCarDe:public Car{public:SwimCarDe(Car*car){m_car=car;}void showcar(){m_car->showcar();cout<<"swim..."<<endl;}private:Car *m_car;};class FlyCarDe:public Car{public:FlyCarDe(Car*car){m_car=car;}void showcar(){m_car->showcar();cout<<"fly..."<<endl;}private:Car *m_car;};void main04(){Car *c = NULL;c = new RunCar();c->showcar();/*SwimCarDe*sc =new SwimCarDe(c);sc->showcar();*/SwimCarDe *sc =new SwimCarDe(c);sc->showcar();FlyCarDe *fc =new FlyCarDe(sc);fc->showcar();/*别忘了释放对象*/delete fc;delete sc;delete c;cout<<"nihao..."<<endl;system("pause");return ;}
0 0
- C#--设计模式之装饰者模式
- 设计模式之装饰
- 设计模式之装饰
- 设计模式之装饰
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之 装饰模式
- 设计模式之-装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- poj1026Cipher
- HDU 1892 See you~
- 8086汇编语言 除数8位DIV指令实例
- Android集成微信支付让你不再踩坑
- 批量修改文件(或文件夹)权限或所有者
- c++设计模式之装饰模式
- 停止线程
- HDU 1445 Ride to School 贪心
- Python中常用的正则表达式处理函数
- Java版抓取网站妹子图片
- dedecms tag 标签调用方法(详细介绍)
- TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
- BZOJ1854 [Scoi2010]游戏
- HDU 1050 Moving Tables 求最大重复次数