Bonjour à tous et bonnes vacances,
Je travail actuellement avec le livre de B. Stroustrup "principe et pratique avec C++" (Excellent au demeurant à mon humble avis).
Je suis au chapitre 14 où il est question d'héritage, classe abstraite, fonctions virtuelles ...
Ce chapitre travail avec une abstraction de la bibliothèque FLTK avec des classes fournies par le livre (comme Shape, Line, Circle, Rectangle...)
Un des exercice demande de dériver la classe Circle afin de faire une classe Smiley composée de 2 yeux et une bouche eux meme des circles.
Ma relexion m'a amenée à me dire que un Smiley est une sorte de Circle donc dérivation, mais qu'un Smiley a des yeux donc composition de Eyes dans la classe Smiley sous la forme.
yeux étant initialisé dans la liste d'initialisation du constructeur de Smiley.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2private: Eyes yeux;
J'ai fournis dans Smiley une fonction de modification de l'épaisseur des lignes des yeux et dans Eyes la fonction d'accès adéquate (public).
Mon problèmes est que si je veux changer l'épaisseur ou tout autre caractéristique des yeux à partir de mon objet Smiley, ça ne fonctionne pas.
Par contre, si je le fais en créant une instance directe de Eyes dans le main(), là ça fonctionne sans problème.
Je ne comprend pas pourquoi.
Merci d'avance.

 

 
		
		 
         
 

 
			
			


 
			 
   
 


 probleme de compréhension de la composition
 probleme de compréhension de la composition
				 Répondre avec citation
  Répondre avec citation

 
  
  
 
 
			 
  
 
				 )
 ) ) mais il y a aussi sans doute une série de comportements qui sont propres au smileys.
 ) mais il y a aussi sans doute une série de comportements qui sont propres au smileys. A méditer: La solution la plus simple est toujours la moins compliquée
A méditer: La solution la plus simple est toujours la moins compliquée )
 )
						
 )
 ) 
 
						
Partager