cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007
-
29 juin 2006 à 16:47
cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007
-
30 juin 2006 à 12:54
Salut,
Je cherche à implémenter une relation d'association 1-1 entre 2 objets de 2 classes différentes.
class Obj2
{
private:
Obj1 *lienObj1 ;
} ;
------------------------------------------
Bien entendu, ce code génère une erreur de compilation car la classe Obj1 ne connait pas la classe Obj2 (définie plus bas). J'ai bien essayé de déclarer la classe Obj2 au dessus de Obj1 en écivant:
------------------------------------------
class Obj2 ;
------------------------------------------
au dessus de la définition de Obj1, mais cela ne marche toujours pas.
Je crois que ce problème est très facile à résoudre, mais je n'ai pas trouvé comment . Quelqu'un pourrait-il me donner un petit coup de pouce ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 30 juin 2006 à 12:00
Oui d'accord, mais c'est parce que tu ne sépare pas assez l'interface du code. Dans O2, tout ce qui concerne O1 (sauf la déclaration du pointeur) ne peut être fait avant la définition de O1.
Pour info: voici le message que je reçoit à la compilation:
"Obj.cpp", line 13.26: 1540-1109 (S) The use of undefined class "O1" is not valid.
"Obj.cpp", line 26.23: 1540-0251 (S) The "->" operator cannot be applied to the undefined class "class O1".