débuter avec les templates
Bonjour a tous,
le contexte :
Je débute avec la notion de templates.
pour m'exercer j'essaie de réaliser une arborescence de classe 'multi-objet' de type :
pile>file>liste
Pour commencer je créer une classe 'cellule' qui sera réutilisé par toutes mes classe.
seulement mon compilo ne veut pas mon code :
element.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #ifndef ELEMENT_H_INCLUDED
#define ELEMENT_H_INCLUDED
template <class T> class cellule{
public :
T objet;
cellule * lien_p;
//constructeur
cellule<T>();
cellule<T>(T objet,cellule<T> * lien_p);
//destructeur
~cellule<T>();
};
#endif // ELEMENT_H_INCLUDED |
element.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include "element.h"
#include <iostream>
//constructeurs
template <class T>
cellule<T>::cellule<T>()
{
lien_p=NULL;
};
template <class T>
cellule<T>::cellule<T>(T objet,cellule<T> * lien_p)
{
};
template <class T>
cellule<T>::~cellule(){
free(objet);
}; |
les erreurs retourné par mon compilo (code::block)
undefined reference to `cellule<int>::cellule() (pour la ligne "cellule<int> test1; de mon main)
undefined reference to `cellule<int>::~cellule() (pour la fin de mon code
Par contre quand je supprime la déclaration (et deffinition) des constructeurs et destructeur je n'ai plus d'erreur.
Je suis passé a coté de quelque chose pour cette notions ou j'ai tous simplement foiré mes définitions?
Merci d'avance pour vos aides.