码迷,mamicode.com
首页 > 编程语言 > 详细

c++成员函数

时间:2014-09-17 21:40:42      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:blog   io   div   sp   代码   log   c   amp   ef   

以前我一直以为类内部的成员函数的参数相当于隐含了一个this指针.比如

class A

{

 int f();

}

我一直认为f的类型是int (*f)(A*),直到最近写一个回调函数的时候才发现原先的理解一直是有误的

看如下代码:

#include <stdio.h>
class A
{
public:
	int f()
	{
		return 0;
	}
};

typedef int (A::*pfun)();
typedef int(*pfun2)(A*);

int main()
{
	A instance1;
	A instance2;
        //pfun p1 = &(instance1.f);
	pfun p1 = &A::f;
	//pfun2 p2 = &A::f;
	printf("%0x",p1);
	return 0;
}

f的类型是pfun而不是pfun2.

c++成员函数

标签:blog   io   div   sp   代码   log   c   amp   ef   

原文地址:http://www.cnblogs.com/sdu20112013/p/3978029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!