erança de C ++ e ponteiros de função de memb
m C ++, os ponteiros de função de membro podem ser usados para apontar para membros de classe derivados (ou mesmo de base
EDIT: Talvez um exemplo ajude. Suponha que tenhamos uma hierarquia de três classesX
, Y
, Z
em ordem de herança.Y
, portanto, tem uma classe baseX
e uma classe derivadaZ
.
gora podemos definir um ponteiro de função de membp
para classeY
. Isso está escrito como:
void (Y::*p)();
(Para simplificar, assumirei que estamos interessados apenas em funções com a assinaturavoid f()
)
Este ponteirop
agora pode ser usado para apontar para funções-membro da classeY
.
Esta questão (duas perguntas, na verdade) é então:
Podep
ser usado para apontar para uma função na classe derivadaZ
?Podep
ser usado para apontar para uma função na classe baseX
?