//A类与B类的定义
class A
{
public:
  void Test()
  {
    cout << "A::Test()" << endl;
  }
};
 
class B : public A
{
public:
  void Test()
  {
    cout << "B::Test()" << endl;
  }
};
 
//定义类的成员函数指针
typedef void (A::*A_mFun)(void);
typedef void (B::*B_mFun)(void);
 
 
 
int main()
{
  //Code
  A a;
  B b;
  A_mFun pAFun = &(A::Test); //Note:Test成员函数必须为public,否则会报错
  B_mFun pBFun = &(B::Test); //Note:Test成员函数必须为public,否则会报错
  (a.*pAFun)();        //输出A::Test()
  (b.*pBFun)();        //输出B::Test()
  (b.*pAFun)();        //输出A::Test()
 
  A* pA = &a;
  B* pB = &b;
  (pA->*pAFun)();       //输出A::Test()
  (pB->*pBFun)();       //输出B::Test()
  (pB->*pAFun)();       //输出A::Test(),B*变量可赋值给A*变量
 
 
  return 0;
}

C++ 函数指针 指向类成员函数相关推荐

  1. [Reprint]C++普通函数指针与成员函数指针实例解析

    这篇文章主要介绍了C++普通函数指针与成员函数指针,很重要的知识点,需要的朋友可以参考下 C++的函数指针(function pointer)是通过指向函数的指针间接调用函数.相信很多人对指向一般函数 ...

  2. 类的成员函数指针和静态成员函数指针 调用成员函数***

    C++提供static这个关键词对静态成员进行声明,静态成员函数和类的实例化无关,对于同一类来说,静态成员函数是所有类的对象共享的.而普通成员函数需要实例化才能调用,对于每一个实例来说,普通成员函数是 ...

  3. C++学习之普通函数指针与成员函数指针

    http://blog.csdn.net/lisonglisonglisong/article/details/38353863 函数指针(function pointer)是通过指向函数的指针间接调 ...

  4. C++ 函数指针 类成员函数指针

    一.函数指针 函数存放在内存的代码区域内,它们同样有地址.如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址. 1.函数 ...

  5. C++函数指针与成员函数指针

    1.函数指针 函数指针:即可以指向函数地址的指针,经常被用作函数参数,作为回调函数使用. 既然是函数指针,那么肯定与普通函数有关联的,即返回值以及函数的参数列表与普通函数一致. 假设我们构造一个a+b ...

  6. 类成员函数指针和普通函数指针

    前言: 先声明一下,普通函数指针和类成员函数指针有很大的区别!所以在绑定函数的时候也会发生很多的不同的情况,本文就函数指针可能出现的各种情况一一进行分析. 测试目录: 1.普通函数指针指向普通函数 2 ...

  7. 指向类成员/函数的指针

    C++扩展了指针在类中的使用,使其可以指向类成员,这种行为是类层面的,而不是对象层面的. 指向类成员/函数的指针的本质并不是取地址.而是利用了对象地址的偏移量 我们创建了一个类,假设我们要使用指针指向 ...

  8. 指向类成员函数的指针(学自王桂林)

    指向类成员函数的函数指针数组(实现更隐蔽的接口): 加减乘除: #include<iostream> using namespace std;class Widget {public:Wi ...

  9. C++成员变量指针和成员函数指针【The semantics of funcitons】

    原文:https://blog.csdn.net/laojiu_/article/details/68946915 (原文有笔误) 1. #include <cstdio> #includ ...

最新文章

  1. 最大流 ---- 最大密度子图 ----- 2014-2015 ACM-ICPC, Asia Xian Regional Contest C The Problem Needs 3D Arrays
  2. 用C语言解“爬动的蠕虫”题
  3. LRU的理解与Java实现
  4. 电商平台应该分析哪些数据?具体怎么去分析?
  5. oracle 客户端访问数据库,ORACLE数据库客户端连接访问服务器
  6. H5网页App和纯原生的App差距在哪?
  7. 参加智能车大赛还是电赛?在做电磁炮中我找到了答案
  8. 大学计算机一级考试内容和范围,大学计算机一级考试.doc
  9. 高考610考哪个计算机学校,2019年高考成绩610分_615分左右能报考上什么学校 文科理科大学名单推荐...
  10. 《你的灯亮着吗?》个人总结
  11. 超强一代JupyterLab发布,可视化调试、中文显示、简单交互界面
  12. mysql 查询 in memory_In-Memory整体汇总
  13. 中文代码编写php,PHP开发网站代码编写规范
  14. json-smart 使用示例(推荐fastjson)
  15. c语言中负数参与除法,C语言中负数除法与右移取整问题
  16. ORACLE_SID环境变量写错,因未设置系统环境变量ORACLE_SID导致ORA-12162错误
  17. windows中查看端口占用情况以及删除端口
  18. 华为HCNA网络工程师【从入门到精通】自学视频[肖哥]-肖宗鹏-专题视频课程
  19. CAPTCHA(验证码)的来源与作用
  20. springboot毕设项目水族馆观光网站e8iy4(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. 美国大力发展量子产业,国会直接指定能源部制定量子系统访问路线图
  2. 如何零成本实现微信公众号自助查券返利机器人(六)
  3. Linux下如何解压bz2文件
  4. 我带着 chatGPT 做了 2800 道算法题
  5. SyntaxError: (unicode error) ‘utf-8‘ codec can‘t decode byte 0xca in position 0: invalid continuati
  6. IDEA的ultimate(最终版)与community(社区版)的区别?
  7. 学费不存管,韦博式“裸奔”几时休
  8. Android NFC开发详解 总结和NFC读卡实例解析
  9. js中appendChild()方法
  10. python append()方法