lang:cpp:heritage
Ceci est une ancienne révision du document !
reinterpret_cast sur une classe avec héritage
Un static_cast ou un dynamic_cast ne pose pas de problème dans le cas d'héritage multiple.
Par contre, un reinterpret_cast d'un void * doit toujours se faire sur la classe la plus basse (la plus enfant). Un void * ne possède aucune information du type de la classe et donc le compilateur ne sait pas comment s'en sortir. Par exemple avec les méthodes virtuelles, il ne peut pas savoir à quelle classe appartient la première méthode en tête de la vtable. Il y a les mêmes problèmes avec les attributs de la classe.
lang/cpp/heritage.1496228797.txt.gz · Dernière modification : de root
