Bonjour � tous,
Je suis bloqu� depuis une semaine sur ce programme et j�esp�re que vous allez pouvoir m'aider.
Je doit r�aliser un graphe g�n�rique en c++.
Voila comment je fait les choses.
Pour le graphe g�n�rique en lui m�me j'ai trois templates GGraphe, GSommet, GArete d�clar� de la mani�re suivante
C'est la premi�re fois que je fait de la g�n�ricit� en c++ alors d�j� est ce que la d�claration des classes ce fait bien comme �a avec des templates ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 template <typename TGraphe, typename USommet, typename VArete > class GGraphe{
Ensuite est ce que dans l'impl�mentation chaque m�thodes doit avoir �crit a nouveau template et les trois types g�n�riques que je vais utiliser de la mani�re suivante ?
Maintenant la partie o� je bloque.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 template <typename TGraphe, typename USommet, typename VArete> GGraphe<TGraphe, USommet, VArete>::GGraphe() { }
On suppose maintenant que un utilisateur souhaite cr�er des classes qui h�ritent du graphe g�n�rique. Donc l'utilisateur cr�e trois classes (par exemple) Molecule, Atom, Arete. Pour chaque classes il fait h�rit� la classe g�n�rique correspondante. Pour Molecule : GGraphe.
Je d�clare la classe comme ca :
C'est ici que j'ai un probl�me. Quand je compile il me dit que "Molecule" n'est pas d�finit, en effet puisqu'il est en train de compiler la classe Molecule donc elle n'existe pas encore. J'ai alors essayer de mettre ca juste avant de d�clarer la classe.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 class Molecule : virtual public GGraphe <Molecule, Atom, Liaison>{
Et alors il le compilateur me dit qu'il ne connait pas les m�thodes qui sont dans la classe Molecule.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2class Molecule;
Voila
Est ce que vous pouvez m'apporter votre aide ?
Merci d'avance.
Partager