【发布时间】:2011-02-07 18:08:28
【问题描述】:
假设我有以下内容:
struct Base
{
virtual void callback() { /* */ }
};
struct Derived : public Base
{
void callback() { /* */ }
};
Base* obj = new Derived;
static_cast<Derived*>(obj)->callback();
回调调用是通过 vtable 调用还是直接调用函数调用,因为它在函数签名中未标记为虚拟?
【问题讨论】:
标签: c++ class polymorphism virtual-functions dynamic-dispatch