#include <iostream>
using namespace std;
class A;
typedef void ( A:: * PFN)(void);
class A
{
public:
void FunA(int num)
{
cout<<"FunA in A num ="<<num<<endl;
}
};
union MM
{
PFN pfn;
void (A:: * pfn_vi)(int);
};
int main(void)
{
PFN pfn;
A a;
pfn =(PFN)(a.FunA);
MM mm;
mm.pfn=pfn;
(a.*mm.pfn_vi)(3);
return 0;
}
//输出结果:FunA in A num =3
本文展示了一个C++程序实例,通过定义一个类A及其成员函数FunA,并利用联合体来调用成员函数,展示了成员指针与联合体在C++中的实际应用。
1722

被折叠的 条评论
为什么被折叠?



