C ++: «Виртуальный» унаследован всем потомкам

Предположим, что следующий простой случай (обратите внимание на расположение virtual )

class A {
    virtual void func();
};

class B : public A {
    void func();
};

class C : public B {
    void func();
};

Будет ли следующий вызов вызывать B :: func () или C :: func () ?

B* ptr_b = new C();
ptr_b->func();
8
задан ybungalobill 10 April 2011 в 09:03
поделиться