Bonjour,
J'avais une question au sujet du démasquage de l’opérateur<<, un sujet qui a déjà été abordé dans une autre discussion, mais je trouve dans la même situation.
J'aimerai spécifiée l'affichage des différentes sous-classes de Toupie, et pour cela, créer une fonction virtuelle affiche() que substitué dans chaque sous-classe, à laquelle fait appel l'operator <<.
Mon problème est que le polymorphisme ne fonctionne pas car, dans ma fonction operator<<, la toupie ne peut pas être prise par référence (du moins ça ne compile pas) de cette manière :
ostream& operator<<(ostream& sortie, Toupie const& toupie);
Je suis alors obligé de faire un passage par valeur, et donc même si j'utilise par exemple une fonction interne affiche(), elle fera toujours appel à la méthode général de Toupie et non pas à ses spécialisations dans les sous-classes.
Comment puis-je faire ?
Merci