C++ 回调函数解析

2,729 阅读1分钟

格式

return_val:返回数据类型
Callback:回调
funcname:回调函数名
param:函数参数
格式:
return_val callback funcname(param1,param2);

实例代码:

//回调函数Demo
#include <iostream>
#include <stdio.h>
#include "windows.h"
 
using namespace std;
typedef int(*demoFunc)(int,int);   //void类型的函数指针,demoFunc是一种回调函数
 
int add(int a,int b)        //自己的实现函数要和函数指针形式相一致
{
	return a + b;
}
 
int minus_time(int a, int b)        //自己的实现函数要和函数指针形式相一致
{
	return a - b;
}
 
//测试回调函数是否成功
void testCallBack(int counts, demoFunc func)
{
for (int i= 0; i < counts; i++ )
{
	int result = func(i, i +1);
	cout << result << endl;
}
}
 
 
int main()
{
	//测试是否成功
	testCallBack(5, add);
	testCallBack(6, minus_time);
}

作用: 1.实现封装性 2.只要是相同参数类型和返回值,可以调用不同的函数,和多态不同

  • 知识点: C++中多态是根据虚函数来实现,简而言之 就是子类实现父类 导致多态。