Bonjour,
Je débute tout juste en POO en C++ et je suis confronté à un petit problème.
Je souhaite créer une classe Graphe et faire quelques opérations dessus.
Ma classe graphe a 2 attributs:
- une liste (vector) de Noeuds
- un liste (vector) d'Arêtes
Noeud et Arête sont des classes.
Ma classe Noeud n'a qu'un attribut (pour le moment) qui est son identifiant.
2 méthodes permettent de renvoyer son adresse et son identifiant (il y aura potentiellement d'autres attributs, j'insiste)
Ma classe Arête a 2 attributs:
- un poids (entier)
- un tableau de taille 2 de pointeurs sur Noeud
et une méthode d'affichage ==> (id Noeud1, id Noeud2, poids) qui me permet d'utiliser l'operateur <<
Le constructeur d'Arête prend 'en entrée' 2 noeuds et un poids.
Le constructeur de Graphe prend en entrée un nombre de noeuds et d'arêtes.
Je commence par 'construire' mon ensemble de noeuds, puis mon ensemble d'arêtes.
Ma classe possède également une méthode d'affichage (affichage des arêtes) qui me permet d'utiliser l'opérateur <<.
Le problème vient quand je cherche à afficher mon graphe.
En lieu et place d'avoir mes 'id noeuds', j'ai, par moments, une adresse qui s'affiche.
Par exemple, pour un graphe de 10 noeuds, et 4 arêtes, je peux voir ça:
(0,0,3)
(4489296,4692064,8)
(4489296,4692064,9)
(4489296,4692064,6)
Je présume qu'il s'agit d'adresse, mais je n'en suis pas sûr.
A première vue, voyez-vous une erreur possible?
je peux transmettre mon code.
J'ai fait un test en transformant, dans la classe Arete, le tableau de pointeurs sur Noeuds en tableau de Noeuds. Avec les modifications qu'il convient, l'affichage est bon.
Merci !
Partager