
回调函数的代码示例
发布日期:2021-05-09 00:19:59
浏览次数:16
分类:博客文章
本文共 1110 字,大约阅读时间需要 3 分钟。
#include "stdio.h"typedef void (*Fun)(char *ch1, char* ch2); //函数指针类型:指向参数为(void *p, char *ch),返回值为void *的函数//外部宿主函数void GetCallBack(Fun fun)//这里是用一个外部函数来展示调用方的,此时回调函数fun是在函数里; //当然也可以定义一个别的类,然后把回调函数传给成员变量.{ //也可以加一些判断条件 fun("This is ", "fCallBack");//!!!此处是在调用回调函数}class A{public: A(){}; ~A(){}; static void fCallBack(char *ch1, char *ch2) { printf("%s%s\n",ch1, ch2); } void Test() { //把函数名当做参数,这里相当于设置回调,把回调函数传递给上层. GetCallBack(fCallBack);//这里fCallBack声明为static,所以此处可以直接使用. }};int main(){ A a; a.Test(); return 0;} #include "stdio.h"typedef void (*Fun)(char *ch1, void *p); //函数指针类型:指向参数为(void *p, char *ch),返回值为void *的函数//外部宿主函数void GetCallBack(Fun fun, void *p){ fun("test", p);}class A{public: A(){}; ~A(){}; static void fCallBack(char *ch1, void *p) { A *pInstance = (A*)p; printf("%s%s\n",ch1); } void Test() { GetCallBack(fCallBack, this);//传点别的参数. }};int main(){ A a; a.Test(); return 0;}
发表评论
最新留言
很好
[***.229.124.182]2025年04月16日 07时22分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Hyper-V系列:微软官方文章
2023-01-23
Java系列:【注释模板】IDEA中JAVA类、方法注释模板教程
2023-01-23
Kali 更换源(超详细,附国内优质镜像源地址)
2023-01-23
kali安装docker(亲测有效)
2023-01-23
Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置
2023-01-23
Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案
2023-01-23
Nmap渗透测试指南之探索网络
2023-01-23
Nmap渗透测试指南之防火墙/IDS逃逸、信息搜集
2023-01-23
PHP系列:PHP 基础编程 2(时间函数、数组---实现登录&注册&修改)
2023-01-23
PHP系列:使用PHP实现登录注册功能的完整指南
2023-01-23
Python&aconda系列:conda踩坑记录2.UnsatisfiableError: The following specifications were found to be incompa
2023-01-23