Bonjour à tous,
J'essaie d'utiliser le principe d'héritage multiple virtuel, mais je crois avoir des problèmes au niveau de la destruction des objets. Donc pouvez-vous me donner le principe ?
Exemple, j'ai une classe A, deux classes B et C héritant de A virtuellement, et une classe D héritant de B et C (tout ça de façon public).
On est d'accord que le constructeur de D est de la sorte :
... en passant éventuellement des paramètres, sachant que B et C ne construisent pas de A supplémentaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part D::D():A(), B(), C() {};
Que dois-je faire au niveau du destructeur de D ? Est-ce que je dois explicitement appeler ceux de A, B et C ?
Dans quels cas est-ce que je dois déclarer les destructeurs de A, B et C comme virtuels ? Sachant que la seule classe pour laquelle le destructeur a réellement quelque chose à faire, c'est B (mais donc D aussi par héritage).
Merci d'avance pour votre aide !
![]()
Partager