Dans le fichier node.hpp, créer la classe générique CNode :
templateclass CNode { private: T m_Data; CNode* m_Next; public: //constructor CNode (); //destructor ~CNode (); //getter / setter TODO };
- Faites en sorte d’avoir un constructeur par défaut;
- Ecrivez le profil des
getteret dessetter; - Pour cet exercice, faites en sorte que le destructeur affiche la contenu de la case supprimée (ce dernier est supposé être injectable dans le flux écran);
- Ecrivez le corps de toutes les fonctions.
Tester votre classe avec le code suivant :
void ListeSimple (void)
{
std::cout << "ListeSimple : \n\n";
CNode* Tete = nullptr;
// Le dernier element cree est toujours le premier de la liste
for (unsigned i (0); i < 5; ) {
Tete = new CNode (i++, Tete);
std::cout << Tete << endl;
}
for (CNode* Ptr (Tete); Ptr; Ptr = Ptr->GetNextNode ())
std::cout << Ptr->GetData() << "; ";
std::cout << '\n';
// Dans cette version, le destructeur de C1Link detruit son
// suivant donc la destruction de la liste est recursive
delete Tete;
}// ListeSimple ()