由于非public的虚函数也会存在在虚函数表中,可以通过子类的指针很容易调用到该函数
#include<iostream>
using namespace std;
class Base {
private:
virtual void f() {
cout << "Base::f" << endl;
};
};
class Derive : public Base {
};
typedef void(*Fun)(void);
void main() {
Derive d;
Fun pFun = (Fun)*((int*)*(int*)(&d) + 0);
pFun();
system("pause");
}