前提:假设成员函数不访问类的成员变量。

环境:DEV-C++,别的环境有可能编译无法通过。

代码如下:

#include <iostream>
using namespace std;

class A
{
public:
    int add(int a, int b)
    {
        int c = a + b;
        return c;
    }
};

typedef int(A::*pfun)(int, int);
typedef int(*gfun)(int, int);

int main()
{
    {
        cout <<"11111...\n"; 
        gfun q;
        q = (gfun)A::add;    
        int c = (*q)(7, 100);
        cout << c << endl;    
    }    
    
    
    {        
        cout <<"222222...\n";
        A a;
        pfun q = A::add;
        int c = (a.*q)(7, 100);
        cout << c << endl;        
    }

{
        cout <<"333333...\n"; 
        A *b = new A();
        pfun q = A::add;
        int c = (b->*q)(7, 100);
        cout << c << endl;        
    }
    
    return 1;
}

运行结果:

几种用函数指针方式来访问类成员函数的方法总结相关推荐

  1. 模板类中使用友元函数的方式,派生类友元函数对基类的成员使用情况

    在一般友元函数的前面加上 template<typename T),注意在函数的声明和定义处都要加这个模板 例如: //模板类,长方体类 template <typename Elemen ...

  2. python类的成员函数_注入一个python类成员函数

    你在这里要做的是Child2.foo用self不是a的方法调用未绑定的方法Child2. 这是非法的,Python 2将检测到并提出一个TypeError解释错误的地方:TypeError: unbo ...

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

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

  4. 10.2 运算符重载函数作为类成员函数和友元函数

    Complex operator+(Complex &c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; ...

  5. 2021-03-10 模板扩展类调用模板基类成员函数

    侯捷书内 : 扩展模板类 内通过  this->  指模板基类的成员函数,或通过   基类名::  的方式调用 基类成员函数 侯捷书内说: 扩展模板类,找不到模板基类的成员函数 但是在vs201 ...

  6. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

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

    原文:http://www.vckbase.com/document/viewdoc/?id=1818 一.成员函数指针的用法 在C++中,成员函数的指针是个比较特殊的东西.对普通的函数指针来说,可以 ...

  8. C++中空指针调用类成员函数的原理

    有下面的一个简单的类: class CNullPointCall { public:     static void Test1();     void Test2();     void Test3 ...

  9. c++中的类成员函数指针

    c++中的类成员函数指针 文章目录 c++中的类成员函数指针 发生的事情 正常的函数指针定义 定义类的成员函数指针 std::function 发生的事情 最近,想用一个QMap来创建字符串和一个函数 ...

最新文章

  1. git config --global写到哪里?
  2. 中小型企业开展网站关键词优化,怎样才能达到理想优化效果?
  3. 【ARM】Tiny4412裸机编程之GPIO简介
  4. 描述一下JAVA的加载过程_JVM源码分析之Java类的加载过程
  5. python代码html显示数据_通过AJAX success方法以html格式显示数据
  6. 数据库索引键uk_数据库SQLServer
  7. VEGAS如何分割与解组?
  8. C语言绘图示例-调色板
  9. Linux的shell计算下一次生日
  10. 武汉科技大学计算机专业怎样,武汉科技大学计算机专业就业情况如何
  11. Python数据攻略-Pandas进行Excel文件读写
  12. 为什么 FIQ 比 IRQ 的响应速度更快?
  13. [摘抄-Java-学习中]Java 图片叠加水印文字自动换行
  14. 关于“Multimedia Tools and Applications”sci-4投稿那些事
  15. 库克和他的“后乔布斯”时代苹果
  16. Android 文件转语音TTS输出(文字转语音)
  17. python调用微信客户端_python模拟微信客户端打开链接Python Logging 模块研究
  18. 《死亡诗社》经典台词欣赏(转)
  19. 记录--微信小程序,uniapp,H5端发送,显示emoji表情
  20. 今日头条广告投放技巧解读

热门文章

  1. 应用开发者必须了解的Kubernetes网络二三事
  2. 数据库:数据库的连接池原理及实现
  3. Android——设置布局的背景颜色
  4. 魅族升级鸿蒙,魅族要“弯道超车”?率先升级鸿蒙OS,挥别安卓系统
  5. yolov5论文叫什么_论文格式与论文查重到底是什么鬼?教你半小时搞定的独门技巧...
  6. 弱电工程计算机网络系统基础知识
  7. 西藏最大云计算数据中心明年投入试运营
  8. 浅谈数据中心集成的优势
  9. 给数据中心来个例行“体检”——动力系统
  10. 轻松智能的数据中心冷却节能方法