0
点赞
收藏
分享

微信扫一扫

C++:函数指针,回调函数

桑二小姐 2022-03-22 阅读 62
c++
#include <iostream>
using namespace std;

void fun1() {
	cout << "fun1" << endl;
}

void fun2() {
	cout << "fun2" << endl;
}

void fun3() {
	cout << "fun3" << endl;
}

//函数指针数组做形参
void trackfun(void (*p[])(), int n) {
	for (int i = 0; i < n; i++)
	{
		p[i]();
	}
}

int main() {
	void (*p)();//定义了一个函数指针p,具体就是将原来的函数名加上括号和*号
	p = fun1;//使用函数名直接对指针赋值
	p();//调用函数的时候后面加上括号

	void (*p_array[3])();//定义一个函数指针数组
	p_array[0] = fun1;//对这个指针数组赋值
	p_array[1] = fun2;
	p_array[2] = fun3;
	//也可以定义指针数组的时候直接初始化
	//void (*p_array[3])() = { fun1,fun2,fun3 };
	trackfun(p_array, 3);

	return 0;
}
举报

相关推荐

0 条评论