《C++避坑神器·二十一》回调函数使用

1、不涉及类的回调函数使用:

《C++避坑神器·二十一》回调函数使用_第1张图片
注意:提供给别人使用的就是注册回调函数的那个接口
void registHeightcallback(CallbackFun callback, void* contex)

《C++避坑神器·二十一》回调函数使用_第2张图片

2、涉及类的回调函数使用:
一般提供给别人使用的都是注册回调函数的接口
在类中定义的回调函数一定是静态的

《C++避坑神器·二十一》回调函数使用_第3张图片
《C++避坑神器·二十一》回调函数使用_第4张图片
案例2:
《C++避坑神器·二十一》回调函数使用_第5张图片

案例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中保存
《C++避坑神器·二十一》回调函数使用_第6张图片

案例5:
静态方法调用非静态方法
《C++避坑神器·二十一》回调函数使用_第7张图片

3、回调对象
《C++避坑神器·二十一》回调函数使用_第8张图片
《C++避坑神器·二十一》回调函数使用_第9张图片

4、回调类
因为回调函数或回调类只有声明,所以回调类可以写成纯虚函数形式
《C++避坑神器·二十一》回调函数使用_第10张图片
《C++避坑神器·二十一》回调函数使用_第11张图片
《C++避坑神器·二十一》回调函数使用_第12张图片
《C++避坑神器·二十一》回调函数使用_第13张图片

博客主页: 主页
欢迎点赞 收藏 ⭐留言 如有错误敬请指正!
本文由 梦回阑珊 原创,首发于 CSDN,转载注明出处
代码改变世界,你来改变代码!✨

你可能感兴趣的:(C++避坑神器,c++,c语言,开发语言,qt)