cmdmode.cpp

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

CPP
79
字号
// CmdMode.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


//定义抽象命令
class CCommand
{
public :
	virtual void Execute() = 0;
};

//定义请求者
class CRequestor
{
public:
	CCommand* m_pCmd;
	void Action()
	{
		m_pCmd->Execute();
	}

	CRequestor(CCommand* pCmd)
	{
		m_pCmd = pCmd;
	}
};

//定义接收者
class  CReceiver
{
public:
	void Action()
	{
		printf("Begin doing!\n");
	}
};

//定义具体命令
class  CDetailCmd : public CCommand
{
public:
	CReceiver* m_pReceiver;
	virtual void Execute()
	{
		m_pReceiver->Action();
	}
	CDetailCmd(CReceiver* pReceiver)
	{
		m_pReceiver = pReceiver;
	}
};

//定义客户

class  CClient
{
public:
	void Demo()
	{
		CReceiver* pReceiver = new CReceiver;
		CCommand* pCommand   = new CDetailCmd(pReceiver);
		CRequestor* pRequestor = new CRequestor (pCommand);
		pRequestor->Action();
		delete pRequestor;
		delete pCommand;
		delete pReceiver;
	}
};

int main(int argc, char* argv[])
{
	CClient client;
	client.Demo();
	return 0;
}

⌨️ 快捷键说明

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