<pre name="code" class="cpp">#include <iostream>
using namespace std;
class Base{
public:
virtual void fun1(){
cout <<"fun1 " << endl;
}
virtual void fun2(){
cout <<"fun2 " << endl;
}
private:
int id;
};
void test1()
{
Base base;
typedef void (*Fun)(void);
Fun fun1;
fun1 =(Fun)*((int*)*(int*)&base+0);
Fun fun2;
fun2 =(Fun)*((int*)*(int*)&base+1);
fun1();
fun2();
}
int main()
{
test1();
//输出 fun1
// fun2
}
c++用地址调用虚函数
最新推荐文章于 2022-10-13 10:46:57 发布