之前总是看到一个画圆 画框 画线的虚函数列子
最近也应用了一次虚函数
class BASE_API CMsgCmd
{
public:
CJCJMsgCmd();
virtual ~CJCJMsgCmd();
virtual void Execute(){};
};
class BASE_API CMsgCmdA :public CMsgCmd
{
public:
CMsgCmdA();
virtual ~CMsgCmdA();
virtual void Execute(){// 执行CMDA};
};
class BASE_API CMsgCmdB :public CMsgCmd
{
public:
CMsgCmdB ();
virtual ~CMsgCmdB();
virtual void Execute(){// 执行CMDB};
};
class BASE_API CJCJMsg
{
// 命令集合
CArray<CMsgCmd*, CMsgCmd*> m_arrCommand;
}
应用工程中
CMsgCmdA* pCmdA = new CMsgCmdA();
m_arrCommand.(pCmdA);
CMsgCmdB* pCmdB = new CMsgCmdB();
m_arrCommand.(pCmdB);
for (i = 0; i < m_arrCommand.GetSize(); i++)
{
m_arrCommand[i]->Execute(); // 执行各自的命令
}