现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

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

2013-03-11 12:28 工业·编程 ⁄ 共 499字 ⁄ 字号 暂无评论

#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);

}

给我留言

留言无头像?