bonjour
s'ils vous plait comment pourait je commencer a travaillé avec les listes chainé mais cete fois si avec les classe orienté objet c++.
je sais pas comment commencer le travail :oops:
Version imprimable
bonjour
s'ils vous plait comment pourait je commencer a travaillé avec les listes chainé mais cete fois si avec les classe orienté objet c++.
je sais pas comment commencer le travail :oops:
Bonjour,
pour commencer tu dois te demander ce qu'est unr liste chaînée, ensuite tu te dit quels sont les elements qui compose une liste chaînée et enfin tu pense aux methodes que tu auras besoin pour faire et utiliser ta liste chaîné.
Ensuite nous t'aiguillerons sur la solution du probleme.
Je ne comprend pas bien ce que tu veux dire par là.
Un bon point de départ pour utiliser les listes chainées de la STL (c'est à dire sans doutes celles que presque tout le monde utilise), tu peux commençer par lire le :
chapitre conteneur du mégacours
Euh oui, tous d'abord...
tu dois creer des listes chaînées ou les utiliser dans un exercice quelconque?
Salut,
Si tu ne veux pas utiliser les listes chainées fournies par la STL, il faut travailler à peu pres comme ceci...
une classe de base
une classe pour "la fin de liste"Code:
1
2
3
4
5 class ListeBase { ... };
une classe pour le "début de la liste"Code:
1
2
3
4
5 class ListeQueue: public ListeBase { ... };
une classe pour les éléments de la listeCode:
1
2
3
4
5 class ListeTete:public ListeBase { ... };
Comme, je présumes que, si tu ne veux pas utiliser la STL, c'est sans doute pour faire un exercice d'école, je vais te laisser réfléchir un peu avant de remplir le contenu des différentes classes ;)Code:
1
2
3
4
5 class ListeElem:public ListeBase { ... };
Cependant, je peux déjà attirer ton attention sur les fait que:
- ListeBase est une classe abstraite par la force des choses
- ListeQueue sera le "signal de fin" de la liste
- ListeElem sera le noeud qui contient une valeur
- ListeTete sera le "signal de début" de ta liste
- Seul ListeElem contient une valeur utilisable
- Seul ListeElem et ListeTete contiennent un pointeur vers l'élément suivant
- Il n'est pas impossible que certaines classes nécessitent de connaitre d'autres classes à part la classe abstraite...
Koala, il faudra que tu m'expliques ton design, je ne vois pas ce que viens faire l'héritage au milieu -- à moins qu'il s'agisse d'un exercice de style. Surtout pour identifier le chainon marquant la fin. 8O
Sinon, j'ai plutôt l'impression qu'il cherche std::list<TypeParent*>. Enfin, bon on va encore se perdre en conjecture en attendant d'avoir plus plus de précisions.
C'est effectivement un exercice de style pour identifier le chainon marquant la fin...Citation:
Envoyé par Luc Hermitte
Plutot que d'avoir un test sytématique sur Suivant==NULL (ou Suivant!= NULL), ListeQueue est en mesure de le signaler tout de suite ;) (ce sera d'ailleurs ListeQueue qui s'occupera d'une grande partie de la gestion ;))
C'est sûr, un dynamic_cast (qui renvoit NULL en cas d'échec) c'est tellement plus rapide qu'une comparaison à NULL...Citation:
Plutot que d'avoir un test sytématique sur Suivant==NULL (ou Suivant!= NULL), ListeQueue est en mesure de le signaler tout de suite (ce sera d'ailleurs ListeQueue qui s'occupera d'une grande partie de la gestion )