回调函数,函数指针

Posted xy913741894

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回调函数,函数指针相关的知识,希望对你有一定的参考价值。

如何获取到类中函数指针


//A类与B类的定义
class A

public:
    void Test()
    
        cout << "A::Test()" << endl;
    
;

class B : public A

public:
    void Test()
    
        cout << "B::Test()" << endl;
    
;

//定义类的成员函数指针
typedef void (A::*A_mFun)(void);
typedef void (B::*B_mFun)(void);



int main()

    //Code
    A a;
    B b;
    A_mFun pAFun = &(A::Test);  //Note:Test成员函数必须为public,否则会报错
    B_mFun pBFun = &(B::Test);  //Note:Test成员函数必须为public,否则会报错
    (a.*pAFun)();               //输出A::Test()
    (b.*pBFun)();               //输出B::Test()
    (b.*pAFun)();               //输出A::Test()

    A* pA = &a;
    B* pB = &b;
    (pA->*pAFun)();             //输出A::Test()
    (pB->*pBFun)();             //输出B::Test()
    (pB->*pAFun)();             //输出A::Test(),B*变量可赋值给A*变量


    return 0;

以上是关于回调函数,函数指针的主要内容,如果未能解决你的问题,请参考以下文章

函数指针与回调函数

函数指针与回调函数

Python回调函数用法实例

57 回调函数

指针进阶:qsort函数(回调函数)

函数指针和指针函数和回调函数以及函数指针数组