试试typedef函数指针相关的东西

作为回调

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
class Clz{};
typedef void (Clz::*pot)();
class Sub : public Clz{
public:
void test(){cout<<"test"<<endl;}
pot pFun;
void testCallback(){(this->*pFun)();}
};
int main() {
// your code goes here
Sub* sub = new Sub();
sub->pFun = pot(&Sub::test);
sub->testCallback();
delete sub;
return 0;
}