This is an old revision of the document!
Constructeurs & Classes dérivées
Une classe dérivée :
hérite de l'ensemble des champs et fonctions membres de la classe de base,
définit des champs et des fonctions membres supplémentaires.
Lors de la création d'un nouvel objet, nous avons deux phases :
La première phase consiste à allouer la mémoire. Dans le cas d'une classe dérivée, la mémoire allouée est calculée comme étant la mémoire nécessaire pour le ou les classes de bases ainsi que la mémoire nécessaire à allouer l'ensemble des champs et tables de méthodes nécessaires à la création de la classe de base.
Pouvons nous hériter des constructeurs ?
Les constructeurs définis pour chacune des classes de base ne disposent pas des informations nécessaires pour pouvoir initialiser les champs dans la classe étendue.
Il est donc nécessaire de définir un nouveau constructeur qui va :
initialiser la classe ou les classes de bases en appelant le constructeur. Si aucun constructeur n'est appelé explicitement, c'est le constructeur par défaut de la classe de base qui est appelée
1).
initialiser les champs définis dans la classe dérivée.