Mi pregunta es con referencia a this question que explica cómo virtual de funciones de trabajo en caso de corte en rodajas objeto que terminan llamando a la función virtual de la clase base y Wikipedia article que explica la disposición de la tabla virtual para una clase derivada para la continuación Códigofunciones virtuales de objetos rebanar
class A{
public:
virtual void func(){ cout<<"\n In A:func";}
};
class B:public A{
public:
virtual void func(){ cout<<"\n In B:func";}
};
main(){
A *ptr1 = new B();
A oA = *ptr1;
oA.func();
}
DerviedClassObjectB:
+0: pointer to virtual method table of B
virtual method table of B:
+0: B::func
Programa anterior salidas "In A :: func".
Pero, ¿cómo lo hace sin tabla virtual para la clase B saber acerca de la clase de base A :: func termina llamando A :: func