首页 > 代码库 > C++ 使用回调函数的方式 和 作用。 持续更新
C++ 使用回调函数的方式 和 作用。 持续更新
先看两个demo:
一.在类test1中调用函数print() ,把print()的函数指针传递给test1的函数指针参数
test1.h:
[cpp] view plain copy
- #include <stdio.h>
- #include <iostream>
- using namespace std;
- typedef void (*FUNP)();
- class test1
- {
- public:
- void fun1(FUNP p)
- {
- (*p)();
- }
- };
main.cpp
[cpp] view plain copy
- #include <stdio.h>
- #include "test1.h"
- void print();
- int main()
- {
- test1 tet1;
- tet1.fun1(print);
- getchar();
- return 0;
- }
- // void (*p)()
- void print()
- {
- printf("hello world\n");
- }
// 打印 “hello world”
二.类Test1 中调用Test2的方法函数。 在类test2中包含test1对象,将test2中的函数指针传给test1
test2.h:
#include "test1.h"
[cpp] view plain copy
- #include <iostream>
- using namespace std;
- class Test2
- {
- public:
- Test2()
- {
- tet1.fun1(fun2);
- }
- static void fun2()
- {
- cout<<"Test2"<<endl;
- }
- public:
- test1 tet1;
- };
test1.h:
[cpp] view plain copy
- #include <stdio.h>
- #include <iostream>
- using namespace std;
- typedef void (*FUNP)();
- class test1
- {
- public:
- void fun1(FUNP p)
- {
- (*p)();
- }
- };
main:
[cpp] view plain copy
- #include <stdio.h>
- #include "test2.h"
- int main()
- {
- Test2 tet2;
- getchar();
- return 0;
- }
// 结果:打印“Test2”
附上两个deome,搞清楚的话 回调函数基本可以套着用了
http://download.csdn.net/my
http://blog.csdn.net/qq_17242957/article/details/53002652
C++ 使用回调函数的方式 和 作用。 持续更新
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。