以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  请问有谁知道怎样取得类的成员函数的地址  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=47110)


--  作者:xtuRzou
--  发布时间:5/18/2007 6:44:00 PM

--  请问有谁知道怎样取得类的成员函数的地址
例如我想得到类myclass的函数fun的地址&fun:

class myclass
{
    public:
             void fun() {}
}

int main()
{
     myclass  ob;
     cout<<ob.fun<<endl
            <<&(ob.fun)<<endl;//这两种情况编译器均提示错误
     return 0;
}

我的编译器是VC 6.0。


--  作者:卷积内核
--  发布时间:5/19/2007 4:44:00 PM

--  
#include   "stdafx.h"   
#include   <stdio.h>   
struct   a;   

typedef   int   (a::*run_method)();     

struct   a   
{   
public:   
 int   b;   
 int   fun(){return   1;};   
 void   fun1()   
 {   
  run_method   mm=&a::fun;   
  a*   p   =   this;   
  int   x=   (p->*mm)();   
  printf   ("%d\n",x);   
 };   
};   

int   main()   
{   
 a   aa;   
 aa.fun1();   
 getchar();   
 return   0;   
}


--  作者:xtuRzou
--  发布时间:5/20/2007 2:56:00 PM

--  谢谢!
看到了,非常感谢!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
2,566.406ms