[cpp] [Débutant]Question à propos de liste chainées

Question à propos de liste chainées [cpp] [Débutant] - C++ - Programmation

Marsh Posté le 07-04-2007 à 00:23:25    

Bonjour!
 
J'ai un probleme de débutant
 
J'ai fait un composant Liste Chainée pour stocker des données de type abstrait Item,  
ce type Item est spécialisé dans un header gràce à un typedef;
Donc normalement à chaque fois que jinstancie une nouvelle liste, elle ne prendra que des données du type définit dans le typedef
 
J'ai fait maintenant 2 classes utilisant chacune une liste chainée mais stockant des donnés de type different.  
 
Une classe avec une liste contenant des objets de type "Colone" et ces objets colones contiennent une liste d'objets de type "Bille"
 
class Plateau{
public:
 ...
private:
 Liste Lcol; //Cette liste doit continir des Objets de type colone
};
 
class Colone{
public:
 ...
private:
 ...
 Liste T; //Cette liste doit contenir des Objets de type Bille
 ...
};
 
en gros Une liste qui contient une autre liste qui, elle, contient des billes
 
Comment m'organiser avec mon composant de liste chainée déja existant?
 
Jespere que jai été comprehensible. Merci pour votre aide. [:mailerdaemon]  

Reply

Marsh Posté le 07-04-2007 à 00:23:25   

Reply

Marsh Posté le 07-04-2007 à 01:16:48    

F A Z Z a écrit :

Comment m'organiser avec mon composant de liste chainée déja existant?


En utilisant une liste chainée générique. La bibliothèque standard en fourni une : std::list<>
Tu peux donc l'utiliser pour y mettre des Colonnes (avec deux n je crois), ou des Billes : std::list<Colonne>, std::list<Bille>.
Dans ton cas, je considèrerai plutôt l'usage de std::vector<> au lieu de std::list<>.

Reply

Marsh Posté le 07-04-2007 à 01:36:24    

Tu te trompe sur l'utilisation des typedef, tu peut pas faire varier le type selon le header et garder le même nom et les utiliser au même endroit. Liste doit être soit une liste de Colonne, soit une liste de Bille. Ou alors... tu utilise les templates.
Si le but est d'apprendre pourquoi pas, si le but est d'arriver à tes fins et d'écrire un programme, utilise effectivement le template de la STL qu'a cité ++fab.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 07-04-2007 à 02:11:07    

Merci pour ces réponses rapides. [:ling14]  Je vais essayer de transformer ma liste en template et je pense que sa devrai etre possible. [:mailerdaemon]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed