全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++获取类的成员函数的函数指针详解及实例代码

C++获取类的成员函数的函数指针详解

用一个实际代码来说明。

class A
{
public:
  staticvoid staticmember(){cout<<"static"<<endl;}  //static member
  void nonstatic(){cout<<"nonstatic"<<endl;}     //nonstatic member
  virtualvoid virtualmember(){cout<<"virtual"<<endl;};//virtual member
};
int main()
{
  A a;
  //static成员函数,取得的是该函数在内存中的实际地址,而且因为static成员是全局的,所以不能用A::限定符
  void(*ptrstatic)()=&A::staticmember;   
  //nonstatic成员函数 取得的是该函数在内存中的实际地址  
  void(A::*ptrnonstatic)()=&A::nonstatic;
  //虚函数取得的是虚函数表中的偏移值,这样可以保证能过指针调用时同样的多态效果
  void(A::*ptrvirtual)()=&A::virtualmember;
  //函数指针的使用方式
  ptrstatic();
  (a.*ptrnonstatic)();
  (a.*ptrvirtual)();
}

可以参考《C++ Primer(3rd)》第532页13.6指向类成员的指针一节~

 1.一个指向外部函数的指针声明为:

void(*pf)(char*,constchar*);
void strcpy(char* dest,constchar* source);
pf=strcpy;

2.一个指向类A成员函数的指针声明为:

void(A::*pmf)(char*,constchar*);

声明的解释是:pmf是一个指向A成员函数的指针,返回无类型值,函数带有二个参数,参数的类型分别是char * 和 const char *。除了在星号前增加A:: ,与声明外部函数指针的方法一样。

3.给成员指针赋值的方法是将函数名通过指针符号&赋予指针名。

如下所示:

class A
{
  public:
   void strcpy(char*,constchar*);
   void strcat(char*,constchar*);
};
pmf =&A::strcpy;

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++获取类的成员函数的函数指针  # C++成员函数的函数指针详解及实例  # C++子类父类成员函数的覆盖和隐藏实例详解  # 实例解析C++中类的成员函数指针  # C++中与输入相关的istream类成员函数简介  # 详解C++编程中类的成员变量和成员函数的相关知识  # C++类静态成员与类静态成员函数详解  # c++中string类成员函数c_str()的用法  # C++中Operator类型强制转换成员函数解析  # C++指向类成员函数的指针详细解析  # C++类中的六大默认成员函数详解  # 的是  # 是一个  # 希望能  # 所示  # 不能用  # 谢谢大家  # 二个  # 多态  # virtualvoid  # virtualmember  # void  # nonstatic  # virtual  # main  # strong  # lt  # int  # member  # public  # staticvoid 


相关文章: 如何选择高效稳定的ISP建站解决方案?  非常酷的网站设计制作软件,酷培ai教育官方网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Python如何创建带属性的XML节点  如何在宝塔面板中修改默认建站目录?  已有域名能否直接搭建网站?  山东云建站价格为何差异显著?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  常州自助建站费用包含哪些项目?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何在自有机房高效搭建专业网站?  如何通过商城免费建站系统源码自定义网站主题?  Android滚轮选择时间控件使用详解  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何高效配置香港服务器实现快速建站?  建站10G流量真的够用吗?如何应对访问高峰?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  香港服务器选型指南:免备案配置与高效建站方案解析  官网建站费用明细查询_企业建站套餐价格及收费标准指南  深圳网站制作案例,网页的相关名词有哪些?  c# 服务器GC和工作站GC的区别和设置  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  建站三合一如何选?哪家性价比更高?  网站制作企业,网站的banner和导航栏是指什么?  网站制作公司排行榜,四大门户网站排名?  c++怎么用jemalloc c++替换默认内存分配器【性能】  大连网站设计制作招聘信息,大连投诉网站有哪些?  南宁网站建设制作定制,南宁网站建设可以定制吗?  如何在七牛云存储上搭建网站并设置自定义域名?  如何用y主机助手快速搭建网站?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何通过服务器快速搭建网站?完整步骤解析  如何在服务器上三步完成建站并提升流量?  宁波自助建站系统如何快速打造专业企业网站?  兔展官网 在线制作,怎样制作微信请帖?  建站之星备案是否影响网站上线时间?  红河网站制作公司,红河事业单位身份证如何上传?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  建站主机选哪家性价比最高?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  C++用Dijkstra(迪杰斯特拉)算法求最短路径  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在服务器上配置二级域名建站?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在IIS7上新建站点并设置安全权限? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。