#include <stdio.h>//函数指针,定义一个函数指针的原型,名称为:lpFunc,三个参数:void指针,char *,int
typedef void(*lpFunc)(void *,char *,int);  //调用回调函数的宿主函数,参数callback是原型名称为lpFunc的函数指针
void GetCallBack(void *lpVoid,lpFunc callback,char* name,int age){//执行回调函数callback,其实是调用通过形参callback实际传过来的函数fCallbackcallback(lpVoid,name,age);
}class A{
public:A(){};void outName(char szAlarm[],int age){printf("My name is %s,%d years old \n",szAlarm,age);}//定义一个类A的静态成员函数fCallbackstatic void fCallback(void *lpVoid,char szAlarm[],int age){//类A的成员函数中,使用类A定义一个对象指针p 指向传进来的指针参数lpVoid,强制类型转换为:A*A *p = (A*)(lpVoid);//A类型的对象指针 p调用 A类的成员寒素outNamep->outName(szAlarm,age);}//A类的成员函数Testvoid Test(){//在类A的成员函数Test中调用外部函数GetCallBack,将类A的静态成员函数fCallback名称传给第二个参数,实现fCallback函数的回调GetCallBack(this,fCallback,"kevin",38);}};int main(void)
{A a;a.Test();
}/*** 总结,想要使用回调函数* 1、首先要定义一个函数指针的原型,例如:typedef void(*lpFunc)(void *,char *,int); * 2、要定义一个或者已存在和这个函数指针原型相符合的函数,例如:static void fCallback(void *lpVoid,char szAlarm[],int age)* 3、要有调用回调函数的宿主函数,例如:void GetCallBack(void *lpVoid,lpFunc callback,char* name,int age)* 4、宿主函数去调用回调函数,例如:GetCallBack(this,fCallback,"kevin",38);* */

c++ 回调函数示例相关推荐

  1. 关于javascript中的回调函数

    关于javascript中的回调函数 原文地址:http://blog.csdn.net/sicluoyi/article/details/1737969 考虑一个这样的例子: 假如某个项目的底层和高 ...

  2. html js 回调函数,js中回调函数的学习笔记

    回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你" ...

  3. PHP - 回调函数概念与用法实例分析 - 学习/实践

    1.应用场景 主要用于理解回调函数的概念, 对比JavaScript中的回调函数, 更加深刻理解回调函数的本质, 以及如何高效使用~~~ 2.学习/操作 1. 文档阅读 https://www.jb5 ...

  4. Python之路 34:并发与并行、锁(GIL、同步锁、死锁与递归锁)、信号量、线程队列、生消模型、进程(基础使用、进程通信、进程池、回调函数)、协程

    内容: 同步锁 死锁.递归锁 信号量和同步对象(暂时了解即可) 队列------生产者和消费者模型 进程(基础使用.进程通信.进程池.回调函数) 协程 一.并发并行与同步异步的概念 1.1.并发和并行 ...

  5. c++11线程池的实现原理及回调函数的使用

    关于线程池 简单来说就是有一堆已经创建好的线程(最大数目一定),初始时他们都处于空闲状态.当有新的任务进来,从线程池中取出一个空闲的线程处理任务然后当任务处理完成之后,该线程被重新放回到线程池中,供其 ...

  6. javascript的回调函数

    回调函数概念:回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数. JS Api 里这样解释:A c ...

  7. java调用js匿名函数参数,js中匿名函数和回调函数

    匿名函数: 通过这种方式定义的函数:(没有名字的函数) 作用:当它不被赋值给变量单独使用的时候 1.将匿名函数作为参数传递给其他函数 2.定义某个匿名函数来执行某些一次性任务 var f = func ...

  8. php callback,php Callback 回调函数详解

    自 PHP 5.4 起可用 callable 类型指定回调类型 callback.本文档基于同样理由使用 callback 类型信息. 一些函数如 call_user_func() 或 usort() ...

  9. javascript回调函数(模式)原理和示例深入分析

                                                                                     广大网友读懂了我之前论述的javasc ...

最新文章

  1. 哎..前段时间的偷懒..造成今天的被动局面...要检讨深刻教训.
  2. 【Python植物大战僵尸军团来袭】“大家快醒一醒、一大波僵尸来了”
  3. java运动员最佳配对_运动员最佳配对问题 - osc_y1pyjby5的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. php自动加载原理,php中的自动加载类机制原理
  5. JSON转换和序列化的区别
  6. 一个浏览图片新闻的App
  7. 海康威视-海康门禁设备对接SDK-已完成完整封装调用
  8. 回文串----蘑菇街2016校园招聘
  9. Aria2远程下载方案部署(CentOS7+Aria+AriaNG+Nginx)
  10. Spring学记笔记
  11. 自由职业接单,大平台,有保障
  12. 华为什么时候能升android10,华为手机什么时候升级安卓Q 华为首批适配Android10机型列表...
  13. ballerina 学习 三十 扩展开发(一)
  14. redis的持久化方式RDB和AOF的区别
  15. 心怀远方,顶峰相见!!!
  16. Java使用Jco连接sap详解
  17. illustrator插件-拼版功能开发-一键拼版-js脚本开发-ai插件
  18. 机器学习基础(七):概率图模型(HMM、MRF、CRF、话题模型、推断方法)
  19. freeSWITCH + WebRTC 音视频会议
  20. face_recognition人脸识别框架

热门文章

  1. 弘辽科技:拼多多商品转化率低有什么影响?多少正常?
  2. java软件开发 jpanel_java图像界面开发简单实例-JPanel应用 | 学步园
  3. 软件测试基础理论体系学习6-黑盒测试方法白盒测试方法简述
  4. 某软件生成文件不加密或者打不开带锁文件如何处理
  5. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校OA办公管理平台jnpxm
  6. 视觉orb_slam中LM算法的分析
  7. 视频虚拟剪辑工具_VirtualClip
  8. PHP下拉如何选择比选一个,买房选好楼栋比选好楼层更重要!
  9. 杀毒软件的原理(转)
  10. c 中空格的asc码表_C语言常用转义字符表 和 ASCII码表完整版