Bonjour,

Voila, j'ai quelques difficultés à commencer un exo sur les listes avec sentinelle.
Il faut que je créer 3 classes : Cell, Iterateur et Liste.
Les méthodes de la classe liste ne doit pas modifier la structure de liste mais font appel aux méthodes de la classe Iterateur qui feront les modifications.

Pour l'instant je suis qu'au début j'ai juste la classe Cell et Iterateur.

Voici mon code pour une cellule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Cell.h
class Cell{
    public :
    // Constructeur
    Cell(int const& valeur=0);
 
    private :
    int m_valeur;
    Cell *m_suivant;
};
 
Cell.cpp
// Constructeur
Cell::Cell(int val) : m_valeur(val), m_suivant(0){}
Ensuite pour la classe Iterateur (j'ai mis en commentaire ce qui est demandé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Iterateur.h
class Iterateur{
    public :
    // Constructeur prend une liste en entrée
    Iterateur(Liste &liste);
 
    // Pointe au debut de la liste
    void allerDebut();
 
    private :
    // un pointeur vers le début de liste (vers la sentinelle)
    Cell *m_debut;
    // un pointeur vers la cellule avant la cellule courante
    Cell *precedent;
};
Ensuite, je bloque sur l'initialisation du constructeur Iterateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Iterateur::Iterateur(Liste &liste) : m_debut(new Cell()), m_precedent(m_debut){}
Besoin d'aide, s'il vous plaît quelqu'un pourrait me dire ce qui va, ce qui ne va pas et comment je pourrais m'y prendre?

Merci.