Destructeur et héritage en C++
nabla
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une petite question concernant les destructeurs, lorsque l on fait de l'heritage en C++.
es ce que l on doit preciser sois meme que le destructeur de la classe fille appelle le destructeur de la classe mere, ou es ce que c est géré implicitement à la fin du déstructeur?
Merci d avance :D
J'ai une petite question concernant les destructeurs, lorsque l on fait de l'heritage en C++.
es ce que l on doit preciser sois meme que le destructeur de la classe fille appelle le destructeur de la classe mere, ou es ce que c est géré implicitement à la fin du déstructeur?
Merci d avance :D
4 réponses
Salut,
C'est géré automatiquement. Il appellera dans l'ordre celui de la fille, puis celui de la mère.
C'est géré automatiquement. Il appellera dans l'ordre celui de la fille, puis celui de la mère.
Si le aucun destructeur n'est défini dans une classe, on en recherche un dans sa classe mère, éventuellement dans la classe mère de cette dernière... jusqu'à trouver un destructeur défini pour l'objet (dans le pire des cas ce sera le destructeur par défaut)
Salut,
C'est pas exactement vrai. Si tu n'as pas défini de constructeurs, le compilateur t'en créera gentiment un. Donc tu as toujours un constructeur dans une classe, même dans le cas de classe mère.
Dans tous les cas, le compilateur appellera le constructeur de la classe mère, puis la classe fille, et pour les destructeurs ce sera celui de la classe fille puis la classe mère.
cdlt
C'est pas exactement vrai. Si tu n'as pas défini de constructeurs, le compilateur t'en créera gentiment un. Donc tu as toujours un constructeur dans une classe, même dans le cas de classe mère.
Dans tous les cas, le compilateur appellera le constructeur de la classe mère, puis la classe fille, et pour les destructeurs ce sera celui de la classe fille puis la classe mère.
cdlt