5,530
社区成员
发帖
与我相关
我的任务
分享
class VisualComponent
{
public:
VisualComponent();
virtual void Draw()
{
//Draw somthing....
}
}
class Decorator1: public VisualComponent
{
public:
virtual Draw()
{
VisualComponent::Draw();
//Draw some ornament 1
}
}
class Decorator2: public VisualComponent
{
public:
virtual Draw()
{
VisualComponent::Draw();
//Draw some ornament 2
}
}
//use decorator
class Use
{
pubic:
Draw()
{
list<VisualComponent*>::iterator it_Decorators;
for ( it_Decorators=m_Decorators.begin();
it_Decorators != m_Decorators.end();
++it_Decorators )
(*it_Decorators)->Draw();
}
}