`

C++ 虚函数表

阅读更多
C++中,通过虚函数表,可以访问基类的私有成员函数:
#include <iostream>

using namespace std;

class Base{

private:
    virtual void f() {cout << "Base::f" << endl;}
};

class Derive : Base{
};

typedef void(*Fun) (void);

int main() {

Base b;
Fun pFun = NULL;
cout << "virtual table's address is " << (int *) (&b) << endl;
cout << "the first func's address of virtual table is " << (int *) * (int *) (&b) << endl;

Derive d;

pFun = (Fun) * ((int*) * (int*) (&d) + 0);
pFun();
// delete pFun;  // can't delete a function pointer

return 0;

}


Reference : http://blog.csdn.net/hairetz/archive/2009/04/29/4137000.aspx

0
0
分享到:
评论

相关推荐

    C++ 虚函数表解析

    ### C++虚函数表解析深度剖析 在C++编程语言中,虚函数是实现多态性的关键机制之一,尤其在面向对象编程中扮演着至关重要的角色。本文将深入探讨C++虚函数表(Virtual Table,简称V-Table)的原理与实现细节,以...

    C++ 虚函数表详解

    C++虚函数表详解 C++中的虚函数表是实现多态机制的关键组件。虚函数表(Virtual Table,简称V-Table)是一种机制,用于存储类的虚函数的地址,解决继承和覆盖的问题,使得父类的指针可以正确地调用子类的成员函数。...

    C++虚函数表测试源码

    本文将深入探讨C++虚函数表的相关知识点,并通过标题中提到的测试源码进行详细讲解。 首先,理解虚函数的定义:在C++中,当一个基类的指针或引用指向派生类的对象时,如果该基类有一个虚函数,那么通过指针或引用...

    C++虚函数表实现聚合(COM)

    在C++编程语言中,虚函数表(Virtual Function Table,简称VFT或VTbl)是实现多态性的重要机制,特别是在面向对象编程中。多态性允许子类重写父类的方法,使得相同的消息可以有不同的行为。虚函数表是这种功能的底层...

    C++虚函数表解析

    在C++编程语言中,虚函数表(Virtual Function Table,简称vtable)是实现多态性的一个关键机制。...通过阅读“C++虚函数表解析.docx”文件,你可以更深入地了解这个主题,包括其实际应用和潜在的优化策略。

    解析C++虚函数表 PDF

    ### 解析C++虚函数表 #### 虚函数与多态性 在C++编程语言中,虚函数(Virtual Function)是实现多态性的关键机制之一。多态性允许我们使用父类类型的指针或者引用去调用子类中重写的函数。简单来说,就是“一个...

    C++虚函数及虚函数表解析

    C++的虚函数和虚函数表是面向对象编程中实现多态性的重要机制。多态性允许通过基类指针或引用调用不同子类的重写方法,从而实现更灵活的设计和代码复用。 虚函数(Virtual Function)是基类中声明的一种特殊函数,...

    c++虚函数与虚函数表

    ### C++虚函数与虚函数表的理解 #### 一、虚函数的概念 在C++中,虚函数(Virtual Function)是一种特殊类型的成员函数,它允许基类指针或引用指向派生类对象,并通过该基类指针或引用调用派生类中重写的同名函数。...

    深入剖析C++虚函数表

    《深入剖析C++虚函数表》 C++的虚函数是多态性的重要实现机制,它使得通过基类指针可以调用派生类重写的成员函数,从而实现了动态绑定。这种特性使得C++能够处理复杂的面向对象设计,提供代码的复用性和灵活性。 ...

    C++ 多态 虚函数 虚函数表 最是详细

    高质量的C++多态讲解,详细讲解虚函数,虚函数表,虚函数继承,虚函数继承下的内存分配等

    C++虚函数表的解析PDF

    本资源是有关C++ 虚函数表的解析PDF,其中详细讲解了虚函数的运行

Global site tag (gtag.js) - Google Analytics