Salut, je ne trouve pas comment afficher le contenu d’une std::list, comment faut il faire? j’ai essayer avec un std::cout << (*it) mais ça marche pas.
J’aurais aussi une deuxième question au passage car je suis pas sur de mon coup. Je voudrais stocker des informations concernant des vins (d’une classe Vin) . Les informations à stocker sont le nom, l’année de mise en bouteille, la quantité. Est ce que je dois utiliser std::list pour sauvegarder mes données ou dois-je utiliser autre chose? (sachant que je n’ai vu que les set, map, list, et vector)
cimer!
EDIT: pour ma 1ere question je crois que j’ai trouvé:
est ce bien ça? Car moi je fais la même chose et ça marche pas
Edité le 13/03/2008 à 13:23
Merci, et sinon est ce que c’est le bon choix d’utiliser une std::list? (rappel: c’est pour stocké les caractéristiques de vins, donc lors de l’affichage des données stockées, je dois voir une liste avec les noms des vins enregistrés suivi de leur caracteristiques)
Non. Dans une liste tu ne mets pas n’importe quoi. Tu mets des objets de même type, ou des objets qui héritent du type du contenu de la liste.
ie:
class A {}
class B : A {}
class C : A {}
class D {}
std::list<A*> foobar;
foobar.add(new B()); // ok
foobar.add(new C()); // ok
foobar.add(new D()); // NON
Si tu mets n’importe quoi, tu ne sais pas ce que tu extrais (rien ne distingue un pointeur sur un char, d’un entier, etc).
En ce sens, set & list c’est le même combat; Sauf que le set assure l’unicité des éléments.
Donc si je veux insérer un constructeur Vin(std::string sonNom, std::string sonAnnee, int saQt, Couleur saCouleur, Cru sonCru) dans ma list c’est pas bon ?
J’ai une classe Vin et j’ai mis [quote=""]
std::list<Vin*> sesVins
[/quote]
dans ses données membres. Et je me sert du constructeur surchargé de la classe Vin pour créer un objet de type Vin. Par contre certain de ses attributs viennent d’autres classes (comme la couleur par exemple).
Voilà je sais pas si ça répond à ta question.
Bon, sur un autre forum on m’a conseiller d’utiliser un vector plutôt qu’une list. Mais c’est le même problème, je sais pas afficher le contenu d’un vector quand ce contenu est un objet Vin…