1、不涉及类的回调函数使用:
注意:提供给别人使用的就是注册回调函数的那个接口
void registHeightcallback(CallbackFun callback, void* contex)
2、涉及类的回调函数使用:
一般提供给别人使用的都是注册回调函数的接口
在类中定义的回调函数一定是静态的
案例2:
案例3:
typedef int (*CallBack)(int a, void*ptr); //声明回调函数 class Person { Public: Person(CallBack callBack) { m_callBack = callBack; } CallBack m_callBack; void fun() { int a = m_callBack(10, NULL); } } Class Student { Public: int func(int a, void*p) { return a; } Person p(func); //注册回调 }
案例4:
在注册回调函数不立马保存数据,放到test中保存
案例5:
静态方法调用非静态方法
3、回调对象
4、回调类
因为回调函数或回调类只有声明,所以回调类可以写成纯虚函数形式