![]() |
#2
rjsp2011-10-13 11:21
|

class A
{
public:
int RetInt()
{
return 100;
}
};
class B
{
public:
int (A::*pFun)(void);
void Print(A &obj)
{
int val = (obj.*pFun)();
std::cout << "Val = " << val << std::endl;
}
};
void main()
{
A qwe;
B asd;
asd.pFun=qwe.RetInt();
asd.Print(qwe);
getch();
}
{
public:
int RetInt()
{
return 100;
}
};
class B
{
public:
int (A::*pFun)(void);
void Print(A &obj)
{
int val = (obj.*pFun)();
std::cout << "Val = " << val << std::endl;
}
};
void main()
{
A qwe;
B asd;
asd.pFun=qwe.RetInt();
asd.Print(qwe);
getch();
}
如上,我想通过B类来输出A中函数的返回值
则我先要获取A类中某个函数的函数地址,这一步出错
然后通过调用B的打印函数输出A中确定地址的函数返回值
哪里出错了?