C++ 类成员函数指针数组应用(一)

前言

    阅读本文之前你需要明确知道函数指针和普通函数的区别,对这两者本文不做过多说明

目标

    使用函数指针数组建立一套bpm工作流框架。这套框架在各种oa以及某几个大型通信公司应用的很广泛

适应场景

   多分枝(类似Swtich)条件下、处理函数的形参列表和返回类型相同。如:

int func1(const char *pszContent);
int func2(const char *pszContent);
...
int funcN(const char *pszContent);

void processMsg(int iMsgType, const char *pszContent)
{
    switch(iMsgType)
    {
        case 1: func1(pszContent);
                break;
        case 2: func2(pszContent);
                break;
        ...
        case N: funcN(pszContent);
                break;
    }

对于上述场景,我们可以采用函数指针数组的方式处理,如下:

typedef int (*pFunc)(const char*);    //创建函数指针
pFunc arrFuncPoint[n+1];              //创建函数指针数组

//初始化指针数组
void init()
{
    arrFuncPoint[0] = 0;
    arrFuncPoint[1] = func1;    

你可能感兴趣的:(C++,函数指针,成员函数,指针数组,函数指针数组)