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
getter
et 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 ()