Será un puntero de función a una función miembro de la clase que se declara virtual de ser válido?¿Todavía se invoca un puntero a una función virtual de forma virtual?
class A {
public:
virtual void function(int param){ ... };
}
class B : public A {
virtual void function(int param){ ... };
}
//impl :
B b;
A* a = (A*)&b;
typedef void (A::*FP)(int param);
FP funcPtr = &A::function;
(a->*(funcPtr))(1234);
¿Se llamará B::function
?
tiene el código. Esta es una de esas preguntas que podría haber respondido usted solo con ejecutar el código. –
porque es más rápido preguntar aquí que arrancar IDE, crear proyecto, codificar, compilar, depurar, etc. ... y daría beneficio a otros, y esta pregunta/código no se perderá. – uray
@Martin: ¿Qué pasa si el comportamiento no está definido? –