C ++ herencia y punteros de funciones miembro
En C ++, ¿se pueden usar los punteros de funciones miembro para apuntar a miembros de clase derivados (o incluso básicos)?
EDIT: Quizás un ejemplo ayude. Supongamos que tenemos una jerarquía de tres clasesX
, Y
, Z
en orden de herencia. @Y
por lo tanto tiene una clase baseX
y una clase derivadaZ
.
Ahora podemos definir un puntero de función miembrop
para claseY
. Esto se escribe como:
void (Y::*p)();
(Por simplicidad, asumiré que solo estamos interesados en funciones con la firmavoid f()
)
Este punterop
ahora se puede usar para señalar funciones miembro de la claseY
.
Esta pregunta (dos preguntas, en realidad) es entonces:
Latap
se utilizará para señalar una función en la clase derivadaZ
?Latap
se utilizará para señalar una función en la clase baseX
?