尽管有很多关于如何在 C++ 中处理虚函数的文章,但我无法清除一个基本疑问。派生类的 vptr 变量是否被基类变量覆盖。ptr 变量的名称是否也被破坏了?
Class Base
{
public:
virtual void test();
};
class Derived
{
public:
virtual void test();
};
如果我打电话
Base b = new Derived();
b->test();
它转变为
(*b->vptr[<index>])(b);
index 指向 vtable 条目的位置。
我的疑问是这个 vptr 是否也名称损坏?