Comme "managerObjetToto.h" inclue "objetToto.h" et que "objetToto.h"
inclue "managerObjetToto.h" ca merde à la compilation.
Donc est ce qu'il y a une maniére élégante de faire ca (j'ai plusieurs
solutions, mais c'est du bidouillage je trouve, comme en déclarant la
class avant, en passant par les cpp, ou en utilisant une class parent et
en faisant un static_cast).
PS: si je supprime lrs deux include ca va être dur pour le compilo.
Jeremie Fouche
julien a écrit dans le message : 411a3518$0$31071$
[...]
merci donc il y a pas mieux, ok.
heu, peut etre, mais je ne connais pas.
PS: si je supprime lrs deux include ca va être dur pour le compilo.
Normallement non, sauf si tu implementes le code dans la declaration de tes 2 classes. Mais si tu fonctionnes avec separation de la declaration fichier h ) et de l'implementation ( fichier cpp ), ca ne pose pas de probleme :
exemple (non testé) :
[Fichier : a.h] #ifndef A_H #define A_H
class B; // on informe l'existence d'une classe B class A { ...
B m_b; };
#endif // A_H
[Fichier b.h] #ifndef B_H #define B_H
class A; // on informe l'existence d'une classe A class B { ...
A m_a; };
#endif // B_H
[Fichier : A.cpp] #include "a.h" #include "b.h"
// iumplementation de la classe A
[Fichier : B.cpp] #include "b.h" #include "a.h"
// iumplementation de la classe B
-- Jérémie
julien <forum@no--Spam_the-last-dream.com> a écrit dans le message :
411a3518$0$31071$626a14ce@news.free.fr...
[...]
merci donc il y a pas mieux, ok.
heu, peut etre, mais je ne connais pas.
PS: si je supprime lrs deux include ca va être dur pour le compilo.
Normallement non, sauf si tu implementes le code dans la declaration de tes
2 classes. Mais si tu fonctionnes avec separation de la declaration
fichier h ) et de l'implementation ( fichier cpp ), ca ne pose pas de
probleme :
exemple (non testé) :
[Fichier : a.h]
#ifndef A_H
#define A_H
class B; // on informe l'existence d'une classe B
class A
{
...
B m_b;
};
#endif // A_H
[Fichier b.h]
#ifndef B_H
#define B_H
class A; // on informe l'existence d'une classe A
class B
{
...
julien a écrit dans le message : 411a3518$0$31071$
[...]
merci donc il y a pas mieux, ok.
heu, peut etre, mais je ne connais pas.
PS: si je supprime lrs deux include ca va être dur pour le compilo.
Normallement non, sauf si tu implementes le code dans la declaration de tes 2 classes. Mais si tu fonctionnes avec separation de la declaration fichier h ) et de l'implementation ( fichier cpp ), ca ne pose pas de probleme :
exemple (non testé) :
[Fichier : a.h] #ifndef A_H #define A_H
class B; // on informe l'existence d'une classe B class A { ...
B m_b; };
#endif // A_H
[Fichier b.h] #ifndef B_H #define B_H
class A; // on informe l'existence d'une classe A class B { ...
A m_a; };
#endif // B_H
[Fichier : A.cpp] #include "a.h" #include "b.h"
// iumplementation de la classe A
[Fichier : B.cpp] #include "b.h" #include "a.h"
// iumplementation de la classe B
-- Jérémie
drkm
"Jeremie Fouche" writes:
julien a écrit dans le message : 41162ffa$0$9761$
*****dans "objetToto.h"******
// #include "managerObjetToto.h" A SUPPRIMER class managerObjetToto;
Je m'appraitais à répondre que l'on avait besoin de la définition du type pour déclarer un champ ou instancier std::vector<>. J'ai fait un petit test, pour inclure la sortie de mon compilo, et je me suis rendu compte que cela passait lorsque ces champs étaient statiques.
Quelle est dans ce contexte l'influence de « static » ?
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Je m'appraitais à répondre que l'on avait besoin de la définition du
type pour déclarer un champ ou instancier std::vector<>. J'ai fait un
petit test, pour inclure la sortie de mon compilo, et je me suis rendu
compte que cela passait lorsque ces champs étaient statiques.
Quelle est dans ce contexte l'influence de « static » ?
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Je m'appraitais à répondre que l'on avait besoin de la définition du type pour déclarer un champ ou instancier std::vector<>. J'ai fait un petit test, pour inclure la sortie de mon compilo, et je me suis rendu compte que cela passait lorsque ces champs étaient statiques.
Quelle est dans ce contexte l'influence de « static » ?
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html