类外使用虚函数指针跳过private的限制,EG:
#include<iostream>
using namespace std;
class B
{
private:
virtual void func()
{
cout << "func" << endl;
}
};
int main()
{
B b;
long *p1 = (long *)&b;
long *p2 = (long *)(*p1);
typedef void(*Func)(void);
Func func = (Func)p2[0];
func();
return 0;
}
类成员函数中如果没有使用this指针,如果知道这个函数的地址可以直接调用,不用管this指针的传递