Bonjour,

Comment dans une fonction virtuelle (une fonction de callback) d'une classe fille obliger le développeur (ou même mieux le compilateur) à appeler la fonction virtuelle de la classe mère.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
class A
{
public:
   virtual void Callback(void);
};
 
class B : public A
{
public:
   virtual void Callback(void);
};
 
void B::Callback(void)
{
   // mon traitement dans la classe B
   ...
 
   // appel de la fonction virtuelle de A
   // je veux être sûr de ne pas oublier cet appel
   A::Callback();
}
 
void A::Callback(void)
{
   // cette fonction doit IMPERATIVEMENT être appelée
   ...
}
Est ce que ce besoin ne serait pas le signe d'un problème de conception des 2 classes ?

Merci de vos réponses