设为首页 加入收藏

TOP

C++指向类成员函数的指针
2014-11-24 08:12:36 来源: 作者: 【 】 浏览:1
Tags:指向 成员 函数 指针

最近在开发中用到了函数指针,于是想整理了一下有关函数指针的概念。O(∩_∩)O~


首先 函数指针是指向一组同类型的函数的指针;而类成员函数我们也可以相似的认为,它是指向同类中同一组类型的成员函数的指针,当然这里的成员函数更准确的讲应该是指非静态的成员函数。前者是直接指向函数地址的,而后者我们从字面上也可以知道 它肯定是跟类和对象有着关系的。


C++函数指针实例:


typedef int (*p)(int,int);//定义一个接受两个int型且返回int型变量的函数指针类型
int func(int x,int y)
{
printf("func:x=%d,y=%d/n",x,y);
return (x}


int main()
{
p fun=func;//定义函数指针并给它赋上一个函数指针
cout<<"min:"<<(*fun)(4,5)< return 0;
}


而“指向类成员函数的指针”却多了一个类的区别:


class A
{
public:
int func(int x,int y)
{
printf("A::func:x=%d,y=%d/n",x,y);
return (x }
};
typedef int (A::*p)(int,int);//指针名前一定要加上所属类型类名 A::的限定


int main()
{
p fun=&A::func;
A a; //因为成员函数地址的解引用必须要附驻与某个对象的地址,所以我们必须创建某个对象。
cout<<"min:"<<(a.*fun)(4,5)< return 0;
}


嘿嘿。。只是用起来 .* 感觉怪怪滴。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++类模板实现循环队列 下一篇C++类模板实现数据结构——栈

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中,“指针”用 (2025-12-26 15:20:18)
·在c语言的指针运算中 (2025-12-26 15:20:15)
·C语言-函数指针与函 (2025-12-26 15:20:12)
·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)