c++ 函数指针_虚函数_虚函数表_纯虚函数

本文详细介绍了C++中的函数指针、虚函数和虚函数表的概念及其使用。函数指针可以指向函数的地址,方便调用。虚函数在多态中扮演关键角色,每个类都有一个全局唯一的虚函数表,通过虚函数表指针调用虚函数。纯虚函数作为抽象接口,强制子类实现。总结了虚函数表的继承、基类指针调用子类实例的普通和虚函数,以及纯虚函数的作用。

函数指针

1: 函数调用: 准备好参数后,把指令指针拨动到函数开始的位置;
2: 函数的开始的指令对应一个代码段上的内存地址,这个内存地址在C/C++里面是函数的名字
3: 除了普通数据类型的指针,还可以定义函数指针;
void (*ptr)(int value); 返回值为void,参数为int的类型的函数的指针,可以存放函数所在的地址;
ptr = 函数的名字;
4: 使用变量可以访问得到这个地址,从而可以使用函数指针来调用函数;
5: typedef 定义一个函数指针的类型, 定义一种类型,专门用来存放这种类型的函数地址;


  • 当函数调用的时候,要把指令指针拨动到函数开始的地方;
  • 每个函数都对应开始的内存地址;
  • c语言函数的名称就是这个函数代码指令的起始地址;
  • 函数编译–>指令在代码段上的起始地址;
  • 调用函数就是让我们的指令指针,跳转到起始地址;
  • 函数的名字->就是地址;可以用指针变量来存放它;
    • 这里写图片描述
  • 怎么样定义一个函数指针呢?变量用来存放这种类型的函数地址
    • 这里写图片描述
  • 每一次这样定义函数指针,有点不方便;
  • 使用typedef 创造了一种类型FUNC_PRT 是一个void (int)函数指针类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值