UNE LISTE DOUBLEMENT CHAINEE, CIRCULAIRE ET TEMPLATES

cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 - 14 mai 2006 à 14:08
cs_mira2 Messages postés 1 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 7 mars 2008 - 7 mars 2008 à 14:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37543-une-liste-doublement-chainee-circulaire-et-templates

cs_mira2 Messages postés 1 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 7 mars 2008
7 mars 2008 à 14:07
j'ai besoin des listes circulaires mais je ne sais que le C, je ne sais ni le java ni le C++, pouvez vous m'aidez ???
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 1
13 nov. 2007 à 20:03
Turnerom: en fait, struct et class sont identiques à un détail près: la visibilité. Par défaut, tout est public dans une struct, alors que c'est private dans une class.
Econs: c'est certain mais le plus gros du boulot est fait. Il y a moyen facilement de gérer n'importe quel type, même de nouvelles classes, ... en utilisant les traits et les allocateurs. voir http://www.cppfrance.com/codes/UTILISATION-TECHNIQUE-TRAITS_37173.aspx

A++ et bon coding !
breakdancer97170 Messages postés 2 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 13 novembre 2007
13 nov. 2007 à 19:44
slt
dis moi qu'est ce que signifie les variables:

ptrr

ptrw

Au plaisir de te relire.
ps: je sais que ce sont des points, mais aurais tu un nom plus explicite pour eux. MErci d'avance
flipper2004 Messages postés 3 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 29 août 2006
29 août 2006 à 14:57
Bon, finalement j ai perdu ce que j avais fait et je voulais recuperer ta liste chainee mais le source n'a pas l'air d'être mis à jour, pourrais tu m indiquer ou ajouter le "};" pour fermer la classe Chain, car lorsque je la met ligne 45, ca pose probleme après dans ton main pour le d.deb->setData("coucou");, il y a un probleme d'acces a un membre privé

Merci de ton aide
flipper2004 Messages postés 3 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 29 août 2006
26 juin 2006 à 18:46
ok, merci pour l info, j etais justement parti voir la classe list de STL (plutot que vector ;-) )
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
26 juin 2006 à 18:12
Voila, la source est mise a jour et fonctionne pu***n de copier/coller :D.

Sinon à part voir + ou - comment fonctionne les listes chainées, cette source n'a pas grand intêret car ce que fait ce programme la classe vector de la STL le fait bien mieux !!!
flipper2004 Messages postés 3 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 29 août 2006
26 juin 2006 à 16:31
Bonjour, j ai visual 2005 v8.xxx et j arrive pas a compiler le code, j ai : "end of file found before the left brace '{' at.... line 13" et effectivement l'acolade de la ligne 13 n est jamais fermee, si je la ferme a la ligne 45, j ai une autre erreur : 'Chain<T>::deb' : cannot access private member declared in class 'Chain<T>'.
Pouvez vous m aider?
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
18 mai 2006 à 10:59
Salut,

La catégorie DIVERS, c'est pas un mauvais choix.
Le code a le mérite d'être clair, facile à comprendre.

Dans ton exemple, tu devrais jouer un peu sur le côté générique du code, en déclarant également des variables du type :

Chain d1;
Chain d2;
[...]

Ceci afin de montrer qu'avec un seul code, on fait plusieurs choses.
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
15 mai 2006 à 22:34
Les maillons sont détruit dans ces méthodes de la classe Chain :

void Chain<T>::retirerEnFin()
void Chain<T>::retirerEnDeb()
void Chain<T>::vider()
errikke Messages postés 59 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 15 mai 2006
15 mai 2006 à 22:13
Est tu bien sûr que le destructeur ne serve à rien dans la
mesure ou les membres de la classe sont des pointeurs?
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
15 mai 2006 à 08:55
Une class, une struct, c'est + ou - la meme chose.
Quant au destructeur, celui par défaut suffit, donc pas la peine dans mettre un.
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 1
14 mai 2006 à 14:08
Pas mal. C'est vrai que c'est assez simple et clair.
Juste une petite remarque: dans l'interface, tu déclares Maillon comme une class et tu l'implémentes comme une struct.
Et je n'ai pas non plus trouvé de destructeur...
Rejoignez-nous