设计模式-装饰模式
装饰模式 这里只讲一些理论上的东西,实现将会在接下来几篇文章具体展开,有兴趣,可以一起研究讨论吖!!!下面进入正题。 定义: 动态地给对象添加一些额外的功能且不改变其结构 。就增加功能这一点,装饰模式要比增加子类灵活。 接下来看下装饰模式的结构图: 模块大概代码如下: # include <cstdio> # include <cstdlib> # include <ctime> # include <string> # include <iostream> # include <algorithm> using namespace std ; class component { public : virtual void Operation ( ) = 0 ; } ; class ConcreteComponent : public component { public : virtual void Operation ( ) { cout << "具体操作的对象" << endl ; } } ; class Decorate : public component { protected : component * Component ; public : void SetComponent ( component * component ) { this - >