关于如何在一个类使用函数指针保存其子类的非静态成员函数
来源:互联网 发布:网络家长学校 编辑:程序博客网 时间:2024/05/17 01:11
#include<iostream>
using namespace std;
class A;
typedef void (A::*lpfn)();
class A
{
public:
lpfn fn;
};
class B:public A
{
public:
void OK(){cout<<"OK"<<endl;}
};
int main(void)
{
B b;
b.fn =(lpfn) &B::OK;
(b.*(b.fn))();/*这个位置比较重点。个人理解是OK代表函数体在类中的偏移量,b.fn=&B::OK,取的时OK的偏移量所在存储单元的
地址,*b.fn得到OK的偏移量,b.*b.fn=b的基地址加上OK在类中的偏移量,得到函数OK所在的内存地址*/
return 0;
}
- 关于如何在一个类使用函数指针保存其子类的非静态成员函数
- 类成员函数参数为该类某个静态成员函数指针,需要在静态函数内使用当前实例的非静态数据成员
- 关于如何在不使用虚函数的情况下父类调用子类成员函数的问题
- 在封装的静态成员函数中使用类指针
- 关于函数指针调用非静态类成员函数的文章
- 关于编译器对c++ 类静态成员、静态成员函数、非静态成员函数的处理
- 在非类函数中如何使用类的成员
- 类的非静态成员函数指针详解
- 使用tr1::function和tr1::bind实现类的非静态成员函数指针
- 线程的静态函数如何访问类的非静态成员函数或成员变量
- 关于函数指针调用C++非静态成员
- 指向非静态成员函数的函数指针
- 如何输出类的非静态成员函数地址
- 如何输出类的非静态成员函数地址
- 如何输出类的非静态成员函数地址
- 如何输出类的非静态成员函数地址
- 关于类的静态成员函数指针的问题
- 函数指针--成员函数(静态,非静态)&普通函数
- 总结创建窗口全过程
- android中canvas和bitmap实现不同图像合并
- Android 学习点滴(1)
- 局部变量 静态变量staic 全局变量
- Unity 鼠标与触摸屏通用代码
- 关于如何在一个类使用函数指针保存其子类的非静态成员函数
- NYOJ-孪生素数问题
- HDU-2529 Shot(物理题)
- sql server2008R2 在执行脚本的时候提示“已创建表 XXX,但其最大行大小(8926)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节
- POJ 3292 Semi-prime H-numbers 解题报告(筛选)
- Micaps3.2二次开发实例教程-4
- 字符串面试题系列之二:连续最长数字串
- 高级rman功能之虚拟专用目录
- C-----可变参数