⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c19-装饰模式例.txt

📁 C++课件,很好用的,帮助大家学习C++.
💻 TXT
字号:
//结构模式 -- 装饰

class VisualComponent
{
public:
	VisualComponent();
	virtual void Draw();
	virtual void Resize();
	//...
};

//VisualComponent的子类Decorator
class Decorator:public VisualComponent
{
public:
	Decorator(VisualComponent *);
	
	virtual void Draw() 	{_component->Draw();}
	virtual void Resize()	{_component->Resize();}
	//...
private:
	VisualComponent * _component;
};

//Decorator的子类BorderDecorator定义特殊的装饰功能
class BorderDecorator:public Decorator
{
public:
	BorderDecorator(VisualCOmponent *, int borderwidth);

	virtual void Draw() 
	{
		Decorator::Draw();
		DrawBorder(_width);
	}
private:
	void DrawBorder(int);
private:
	int 	_width;
};

VisualCOmponent * v=new VisualCOmponent;
BorderDecorator b(v,10);
b.Draw();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -