Références Croisées ? - C++ - Programmation
Marsh Posté le 14-11-2005 à 17:23:06
bin ca peut pas, si A contient B et B contient A alors t'as des objets de taille infini
Sinon, c'est c'est des references ou des pointeurs, alors utilise la forward declaration
Marsh Posté le 14-11-2005 à 19:30:17
je me disais bien que ça sentait mauvais... j'espérais une manière élégante de passer outre...
Marsh Posté le 14-11-2005 à 19:32:02
la forward declaration est elegante et permet aussi de reduire les dependances entre fichier
Marsh Posté le 14-11-2005 à 19:34:59
Merci ! Tu pourrais me donner un exemple "d'école" de forward déclaration ? parceque là, le nom me dit rien ...
Marsh Posté le 14-11-2005 à 19:45:27
ah bin c'est tout con
Code :
|
ca sert juste a dire "y'a un truc qui s'appelle prout et qui est une classe"
si dans un H tu utilises juste un pointeur/reference sur un type, alors au lieu de faire un include tu peux te contenter de faire une forward declaration. Ca limite bien les dependances
maintenant pour utiliser une methode de prout (ou une var membre) alors le compilo aura besoin de la definition de prout, d'ou include
Marsh Posté le 14-11-2005 à 19:48:22
et comme les include sont fait dans le .cpp dans ce cas ça doit marcher !
Merci !!!!
Marsh Posté le 14-11-2005 à 19:50:03
ReplyMarsh Posté le 14-11-2005 à 21:56:14
sinon il y a aussi les directives de compilation... moi je préfère cette méthode la, mais ça c'est question de gout
Marsh Posté le 14-11-2005 à 22:31:02
moi23372 a écrit : sinon il y a aussi les directives de compilation... moi je préfère cette méthode la, mais ça c'est question de gout |
putain, mais jamais t'arrètes de dire des conneries toi ?
Marsh Posté le 14-11-2005 à 16:55:53
Bonjour dans le cadre d'un petit projet en C++ j'ai un soucis de références croisées :
Une classe A (a.cpp, a.h)
Une classe B (b.cpp, b.h)
Mon problème est que A possède un B comme attribut et B possède un A comme attribut.
Comment organiser mes .h proprement pour que ça puisse compiler ?
Merci d'avance !!!