/********************************* *设计模式--装饰模式实现 *C++语言 *Author:WangYong *Blog:http://www.cnblogs.com/newwy ********************************/ #include <iostream> using namespace std; class Component { public: virtual ~Component(){} Component(){} virtual void Operation(){} }; class ConcreteComponent:public Component { public: ConcreteComponent(){} ~ConcreteComponent(){} void Operation(){cout<<"ConcreteComponent operation ..."<<endl;} }; class Decorator:public Component { public: Decorator(Component*com){this->_com = com;} virtual ~Decorator(){} void Operation(){} protected: Component * _com; }; class ConcreteDecrator:public Decorator { public: ConcreteDecrator(Component*com):Decorator(com){} ~ConcreteDecrator(){} void Operation(){_com->Operation();} void AddedBehavior(){cout<<"ConcreteDecrator::AddedBehavior..."<<endl;} }; int main() { Component*com = new ConcreteComponent(); Decorator *dec = new ConcreteDecrator(com); dec->Operation(); delete dec; return 0; }
原文链接: https://www.cnblogs.com/newwy/archive/2010/10/18/1855222.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/16238
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!