Bonjour
jai cherché pas mal
mais je n'ai rien trouvé pour coder une association unidirectionnelle de cardinalité n entre une classe A et B ?
sachant que cest la classe C crée les instances A
merchi davance
Bonjour
jai cherché pas mal
mais je n'ai rien trouvé pour coder une association unidirectionnelle de cardinalité n entre une classe A et B ?
sachant que cest la classe C crée les instances A
merchi davance
J'ai été intrigué par ta demande. Et en cherchant sur google, je suis tombé sur cà. C'est surtout les concepts développés qui peuvent t'aider. Ensuite, il faut transposer en C++ les exemples données en Java.
Intéressant à développer pour ma part dans de futures applications.
Je voulais une réponse claire et précise , sans redirection , surtout sur un truc que j'ai vu aussi, etant debutant en c++ , demander de traduire du java en c++ , et une relation , pfiou ...
donc si quelqun aurait un morceau de code traduisant ma demande du premier post ca serait sympa
cest juste pour voir comment ca se passe , pas besoin d'un cas dur , juste la base , jai essyayé sur mon projet , mais la classe B ne voit pas A grace au test effectué , ladresse du poiteur du type de A dans le h. de B nest pas bonne
Cordialement
Si j'ai bien compris ta demande, il y a pas mal de possibilités pour faire ça, selon la nature de la relation souhaitée.
Pour être plus précis, il faut répondre à des question du style : Est-ce qu'un B peut exister en dehors du fait d'être une sous-partie d'un A ? Comment A différencie-il les différents B qu'il connaît ? Que se passe-t-il pour les B si je détruit le A correspondants ?...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class A { // private: std::vector<B> myBs; // Ou : std::vector<B*> myBs; // Ou : std::vector<shared_ptr<B> > myBs; // Ou : std::map<std::string, B> myBs; // Ou : std::map<std::string, B*> myBs; // Plein d'autres variantes encore... }; class B { };
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
tu n'as peut etre pas vu ? je suis debutant , je connais donc pas etre cette methode .... tu n'as pas plus simple ?![]()
Plus simple que : std::vector<B> myBs; ?
Non. Il n'y a pas. Mais cette réponse simple n'est pas forcément la bonne, selon ce que tu veux faire.
Plus simple que se poser les bonnes questions ? Non plus.
Comme je te l'indiques, la question que tu as posée est incomplète. Il est impossible d'y répondre dans l'état. Donc soit tu donnes un cas d'application concret, et dans ce cas on pourra intuiter les réponses aux points que tu n'as pas précisés, soit tu reste dans l'abstrait et la théorie, mais dans ce cas, débutant ou pas, si tu veux avoir une réponse et non pas des pistes de réflexion, il faudra poser la bonne question.
Par exemple, dans un logiciel de dessin, une page qui contient des objets graphiques (rectangles, cercles...) peut répondre à la définition "association unidirectionnelle de cardinalité n". De même, dans dans un logiciel de diaporama, un diaporama aura une relation "association unidirectionnelle de cardinalité n" avec les photos qui le compose. Pourtant, les solutions pour modéliser ces deux cas en C++ seront très différentes.
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Avoir du code en réponse ne sera pas te rendre service. J'en parle en connaissance de cause pour avoir pris au départ le même chemin.
Jusqu'au jour où mon prof a réussi à me faire le déclic sur comment appréhender la programmation : le pseudo-code ou encore l'algorithme.
Si je t'ai passé le lien, c'est pour saisir le concept des relations qui peuvent dans ce cas se créer entre deux classes. Visualiser avant même de coder ce qui se passe, c'est déjà avoir résolu 90% de ton problème. Les 10% qui reste, c'est simplement l'application de la "mécanique" de la programmation (du genre savoir ce qu'est une fonction membre d'une classe, ou une variable dans une classe, ou une classe héritée, etc..).
J'apprécie beaucoup ce site car dans mes questions je reçois des réponses qui m'expliquent ce que j'ai pas saisi. Me transmettre un résultat brut de fonderie (le code final) ne m'intéresse pas.
J'espère que tu comprends cette "philosophie" ..
Partager