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); [...] };
Partager