CLIST

steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 - 27 mars 2005 à 11:06
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 - 27 mars 2005 à 11:06
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/30354-clist

steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
27 mars 2005 à 11:06
Il manque tout les const !
Il manque le corps d'affectation et de copie, tu dois redéfinir la copie ou au moins l'interdire (non fonctionnel) sinon ta classe est buggée.
Le code suivant plante:
CList l1;

l1.Add_Entry(1);
l1.Add_Entry(2);
l1.Add_Entry(3);
l1.Add_Entry(4);
l1.Add_Entry(5);
l1.Add_Entry(6);

CList l2 = l1;

l1.Clear_All(false);

long size = l2.Get_Number_Of_Entries();
for( long i = 0; i < size; ++i )
cout << l2.Get_Entry_By_Ordinal_Long(i) << '\n';

Ce n'est pas vraiment du C++ (il manque beaucoup de concepts, encapsulation, struct redondant, utilisation allocateur C).
Pourquoi ne pas avoir fait une solution générique au niveau du type ?
Comment faire un parcours performant (acces linéaire, pour une liste) de la liste ?

Tu devrais lire le source de ton implémentation de std::list pour voir à quoi devrait ressembler une classe (un modele)
liste fonctionnelle.
Rejoignez-nous