【VC开源代码栏目提醒】:网学会员VC开源代码为您提供CmdMode.cpp参考,解决您在CmdMode.cpp学习中工作中的难题,参考学习。
// 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;
}