相关疑难解决方法(0)

派生对象上的C++虚函数调用是否通过vtable?

在下面的代码中,它通过指向派生对象的指针调用虚函数foo.这个电话会通过vtable还是B::foo直接打电话?

如果它是通过vtable进行的,那么B::foo直接调用它的C++惯用方法是什么?我知道在这种情况下我总是指着一个B.

Class A
{
    public:
        virtual void foo() {}
};

class B : public A
{
    public:
        virtual void foo() {}
};


int main()
{
    B* b = new B();
    b->foo();
}
Run Code Online (Sandbox Code Playgroud)

c++ virtual

7
推荐指数
3
解决办法
2402
查看次数

标签 统计

c++ ×1

virtual ×1