Bonjour,
Je me pose la question depuis quelques temps, et je n'ai jamais trouvé de réponse qui me convienne.
J'ai dans mon code pas mal d'objets avec une méthode virtual void update(). Ces objets sont souvent dérivés, avec leur propre méthode virtual void update(). Ce que j'aimerais faire, c'est faire en sorte que si B dérive de A, appeller B->update() fasse un boulot sur B, et appelle A->update().
C'est toujours possible de le faire explicitement, mais ce que j'aimerais c'est que le comportement se rapproche de celui des constructeurs, c'est a dire que le concepteur de B n'a pas besoin de penser à updater A, que ca se fasse tout seul. Quelque chose dans le style :
Déja première question : Existe t il un nom à ce comportement ?
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 class A { public: void update() { //update A } }; class B : public A { public: void update() //appelle A::update() implicitement { //Update B } };
Deuxième question : Est il possible d'obtenir cet effet en C++ ? Est il possible de le faire dans A, c'est a dire que B n'a rien à rajouter pour que ca marche, ou au pire qu'il ait une erreur à la compilation s'il ne fait pas ce qu'il faut ?
Partager