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小时内与您取得联系。