statemode.cpp

来自「《Visual C++视频技术方案宝典》配套光盘」· C++ 代码 · 共 50 行

CPP
50
字号
// StateMode.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


//定义抽象状态
class CState
{
public:
	virtual void Execute() = 0;
};

//定义具体状态
class CDetailState: public CState
{
public:
	virtual void Execute()
	{
		printf("DetailState Changed!\n");
	}
};

//定义外部对象
class CObj
{
public:
	CState* m_pState;
	void SetState(CState* pState)
	{
		m_pState = pState;
	}
	void ExecAction()
	{
		m_pState->Execute();
	}

};

int main(int argc, char* argv[])
{
	CObj obj;
	CState* pState = new CDetailState;
	obj.SetState(pState);
	obj.ExecAction();

	return 0;
}

⌨️ 快捷键说明

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