Executer méthode de classe Fille dans classe Mère via un pointeur sur méthode
Bonjour,
Afin de régler un problème d'affichage dans le cadre d'un exercice de programmation parallèle, je bute sur un problème : dans ma classe A, je veux une méthode, qui me permette d'executer la méthode passée en paramètre (avec des instructions en plus). Dans ma classe B, qui hérite de ma classe A, je veux pouvoir appeler cette méthode de A, dans B, avec comme paramètre un pointeur sur une méthode de B.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class A {
void virtual routine() {}
void executer(void (*function)(int), int param) {
instruction();
(*function)(param);
instruction();
}
};
class B : A {
void routine() {
executer(&ma_fct, 2);
}
void ma_fct(int p) {
cout << p << endl;
}
}; |
Mais je ne parviens pas à faire fonctionner ce code... Il est évidamment faux ici, j'ai commencé par utiliser (*A::function) dans la déclaration présente dans A, mais du coup je me retrouve avec &B::ma_fct comme paramètre de executer() dans la classe B...
Vous auriez une idée pour résoudre ce problème ?
Bonne journée !