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()
{
return m_nNuml - m_nNumr;
}
static IOperation* C
订阅专栏 解锁全文
241

被折叠的 条评论
为什么被折叠?



