cs_LiBe444
Messages postés220Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention 7 avril 2007
-
7 avril 2007 à 14:22
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
7 avril 2007 à 19:13
Bon si y'a quelqu'un qui sait comment écrire des réferences croisées en c++, répondez moi...
genre ça, mais qui compile :
class A ;
class B { A bou ; } ;
class A { B bou ; } ;
A voir également:
The projects in the reactor contain a cyclic reference
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 7 avril 2007 à 15:22
En C++ les objets ne sont pas de références, donc si tu déclares un objet A dans B, B contiendra un objet A qui sera instancié dans le constructeur de B. Jusque là tout va bien mais si tu mets aussi un objet de type B dans A, on a une dépendant circulaire, ce qui fait qu'en instanciant une objet A, on instancie un B, puis un autre A, puis un autre B. Evidemment on ne veut pas faire ca.
(Le problème n'existe pas en java car l'instanciation n'est pas automatique, il faut un new).
Pour résoudre ton problème, il faut qu'au moins un deux attributs bou soit un pointeur.
Par exemple:
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 7 avril 2007 à 19:13
A quoi correspond cette structure en uml ou autre ?
Je ne l'ai jamais utilisée.
Du point de vue d'une hiérarchie de classe, il y a toujours moyen de ne pas faire cela.
Puisque il y a double agrégation, n'y a t il pas héritage ?
Ou plus simplement A et B sont amies (friend) ?