虚函数的应用

之前总是看到一个画圆 画框 画线的虚函数列子

最近也应用了一次虚函数

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(); // 执行各自的命令
 }

 

 

 

 

 

 

 

你可能感兴趣的:(api,Class)