zoukankan      html  css  js  c++  java
  • C++ 虚函数表

    #include <bits/stdc++.h>
    using namespace std;
    
    class Base{
    public:
    	virtual void f() {
    		cout << "Base::f" << endl;
    	}
    	virtual void g() {
    		cout << "Base::g" << endl;
    	}
    	virtual void h() {
    		cout << "Base::h" << endl;
    	}
    };
    class Sub1 : public Base{
    public :
    	virtual void f1(){
    		cout << "Sub1::f1" << endl;
    	}
    	virtual void g1(){
    		cout << "Sub1::g1" << endl;
    	}
    	virtual void h1(){
    		cout << "Sub1::h1" << endl;
    	}
    };
    
    typedef void(*Fun)();
    int main(){
    	Sub1 b;
    
    	Fun pFun = NULL;
    	int* p = (int*)&b;
    	((Fun)*((int*)*(int*)p))();
    	((Fun)*((int*)*(int*)p + 1))();
    	((Fun)*((int*)*(int*)p + 2))();
    	((Fun)*((int*)*(int*)p + 3))();
    	((Fun)*((int*)*(int*)p + 4))();
    	((Fun)*((int*)*(int*)p + 5))();
    	/*
    	输出为
    		Base::f
    		Base::g
    		Base::h
    		Sub1::f1
    		Sub1::g1
    		Sub1::h1
    	*/
    }
    
  • 相关阅读:
    slenium截屏
    效率提升
    R语言网页爬虫
    高性能计算
    数据操作
    数据库操作
    面向对象编程
    元编程
    R 的内部机制
    数据处理
  • 原文地址:https://www.cnblogs.com/macinchang/p/5399155.html
Copyright © 2011-2022 走看看