VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
HOWTO:访问成员函数指针?

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

HOWTO:访问成员函数指针?

#include <iostream.h> 
#include <afxwin.h>   

typedef double TYPE; 

class A 
{ 
public: 
    bool fun(TYPE& n) 	//参数是引用类型可以统一处理(Very good!)
    { 
        cout<<"A::fun() "<< n <<endl; 
        return true;         
    }     
    void * GetP()         
    {         
        bool (A::* pFun)(TYPE&);         
        pFun = fun;         
        return *(void **)&pFun;       // 注意:return (void *)&pFun;是错误的!        
    }     
}; 

class B 
{     
public:     
    A a;    
    void Show(void * pVoid)         
    {         
        void * p = a.GetP();         
        A * pA = &a;         
        _asm 
        {             
            mov eax, pVoid      //如果参数不是指针类型,则要用 lea eax, param                 
            push eax 
            mov ecx, pA          //在ecx中要放置对象的地址             
              call p                 
        }         
    }     
}; 

void main() 
{     
    B b;     
    int i = 100;     
    double d = 100.236;     
    CString str("I am zht"); 
    
    b.Show(&d); 
}



相关文章

相关软件