现在的位置: 首页 > 综合 > 正文

设计模式22:状态模式【行为型】

2018年02月19日 ⁄ 综合 ⁄ 共 466字 ⁄ 字号 评论关闭
#include <iostream>
#include <vector>
using namespace std;

//
struct ILight
{
public:
	virtual ~ILight() { }

	virtual void Switch() = 0;
};

class CLightOn : public ILight
{
public:
	virtual ~CLightOn() { }

	virtual void Switch() { cout<<"on to off"<<endl; }
};

class CLightOff : public ILight
{
public:
	virtual ~CLightOff() { }

	virtual void Switch() { cout<<"off to on"<<endl; }
};

class CContext
{
public:
	CContext() { }

	void Switch(ILight *pLight) { pLight->Switch(); }
};

//
void main()
{
	CContext context;

	CLightOn lightOn;
	context.Switch(&lightOn);

}

抱歉!评论已关闭.