Bonjour j'ai une file chainé qui hérite de de liste chainé et de file , mais les méthodes de la liste chainé ne fonctionne pas sur ma file chainé. Cependant les méthodes de file fonctionne correctement sur file chainé.

mon main:
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
[...]
    FileChaine *fc = new FileChaine();
    int a(0);
 
    fc->ajoute(12);
    fc->ajoute(13);
    fc->afficherFile();
 
    cout<<"\n"<<endl;
    fc->ajouterFin(a);
    fc->afficherFile();
[...]

la File chainée.h
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
[...]
class FileChaine : public File, Liste
{
public:
    FileChaine();
    ~FileChaine();
    int ajouterFin(const int &);
 
private:
    int  *m_valeur;
    int  m_taille;
};

filechainée.cpp
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
[...]
int FileChaine::ajouterFin(const int &valeur)
{
    return elementAjouterFin(valeur);
}
[...]

liste chainéé.cpp
Code c++ : 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
17
18
19
20
 
[...]
int Liste::elementAjouterFin(int valeur)
{
    Element * nouveau = new Element(valeur);
 
    if(nouveau == NULL)
        return -1;
 
    m_queue->m_suivant = nouveau;
    m_queue = nouveau;
 
    if(m_nbMaillon==0)
        m_tete = nouveau;
 
    m_nbMaillon++;
 
    return 1;
}
[...]

et le .h de liste chainé
Code c++ : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
class Liste;
 
class Element
{
    friend Liste;
 
private:
    int m_valeur;//la valeur de l'élément est pour l'instant limitée à 'int'
    Element* m_suivant;
 
public:
    Element(int valeur): m_valeur(valeur), m_suivant(NULL){}
 
};
 
 
class Liste
{
private:
    Element* m_tete;
    Element* m_queue;//la mémorisation de la queue est pratique pour les Ajouts
    int m_nbMaillon;
 
public:
[...]
    int elementAjouter(int valeur,int position);
    int elementAjouterFin(int valeur);
[...]
};