virtual-functions

¿Por qué una función virtual sería privada?

Acabo de ver esto en algún código: class Foo { [...] private: virtual void Bar() = 0; [...] } ¿Tiene esto algún propósito? (Estoy tratando de portar algún código de VS a G++, y esto me llamó la atención)

Diferencia entre redefinir y sobreescribir una función

Supongamos que tengo una clase A con una función virtual F(): class A { virtual void F() { // Do something ... : A { void F() override { // Do something }; }; ¿Cuál es la diferencia entre F() en las clases B y C?

¿Cuándo se crea una vtable en C++?

¿Cuándo crea exactamente el compilador una tabla de funciones virtuales? 1) cuando la clase contiene al menos una función ... ¿Qué clases contendrán una tabla en V? Dado que B no declara f() como virtual, ¿la clase C obtiene polimorfismo dinámico?