1、面向接口编程,先改造抽象接口类IOperation
class IOperation { public: IOperation() : m_nNuml(0), m_nNumr(0) {} virtual ~IOperation() {} virtual void SetNum(int nNuml = 0, int nNumr = 0) { m_nNuml = nNuml; m_nNumr = nNumr; } virtual int CalculateResult() = 0; public: typedef IOperation* (CALLBACK* fn_CreateObject)(); protected: int m_nNuml, m_nNumr; };
接口基本无改动,由于表驱动法中需要在表中填入驱动函数接口,故先定义一个该接口函数的定义,用于产生具体接口对象。
2、改造接口对象类
class COperation_Add : public IOperation { public: int CalculateResult() { return m_nNuml + m_nNumr; } static IOperation* CALLBACK CreateObject() { return new COperation_Add(); } }; class COperation_Dec : public IOperation { public: int CalculateResult() {