C++虚函数的工作原理

通常,编译器处理虚函数的方法是:给每一个对象添加一个隐藏成员,这个隐藏成员中保存了指向函数地址数组的指针。这种数组叫做虚函数表,虚函数表中存储了为类对象进行声明的虚函数的地址。 以上面两个类为例子,B继承自A 基类对象包含一个指针,指向基类中所有虚函数的地址表。 派生类对象将包含一个指向独立地址表的指针,如果派生类提供了虚函数的新定义,该虚函数表将保存新函数的地址.反之,则保存该函数原始版本的地址
相关文章
相关标签/搜索