L'Héritage Multiple, C++ et la Même Méthode de Signature dans Plusieurs Super-Classes

Je n'ai pas d'expérience en C++, et je viens de Java arrière-plan. Dernièrement, on m'a demandé dans une interview sur les raisons de Java ne permettrait pas l'héritage multiple et la réponse a été assez facile. Cependant, je suis toujours curieux sur la façon dont C++ traite de la car il vous permet d'hériter de plus d'une classe.

Plus précisément, supposons qu'il existe une classe appelée MechanicalEngineer et un autre appelé ElectricalEngineer. Les deux ont une méthode appelée buildRobot().

Ce qui se passe si nous faisons une troisième classe RoboticsEngineer, que inherets de tous les deux et ne pas surcharger cette méthode, et vous appelez simplement:

(some instance of RoboticsEngineer).buildRobot()

Sera une exception sera levée, ou la méthode à partir de l'un des super-classes seront-elles utilisées? Si oui, comment le compilateur de savoir ce qui la classe à utiliser?

  • Ce qui se passe en Java si une classe possède une méthode buildRobot et une interface est une méthode buildRobot et de définir une sous-classe qui implémente l'interface?
  • Apparemment, c'est très bien tant que le type de retour est le même, voir ce thread.
InformationsquelleAutor Sam | 2011-07-20