欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>程序设计>>杂项>>文章内容
HOWTO:访问成员函数指针?
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 

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); 

}


附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步