 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Jeremie Fouche Guest
|
Posted: Sun Aug 08, 2004 1:50 pm Post subject: Re: Question sur les include |
|
|
julien <forum (AT) no--Spam_the-last-dream (DOT) com> a écrit dans le message :
41162ffa$0$9761$636a15ce (AT) news (DOT) free.fr...
| Quote: | La solution est peut être très simple (donc peut être question stupide..).
Je cherche à faire de facon elegante ceci:
Voila je fais souvent deux classes. Une classe objetToto, et une class
managerObjetToto,
*****dans "objetToto.h"******
// #include "managerObjetToto.h" A SUPPRIMER |
class managerObjetToto;
// #include "objetToto.h" A SUPPRIMER
class objetToto;
| Quote: | #include <vector
class managerObjetToto
{
private:
static std::vector
public:
managerObjetToto():
virtual ~managerObjetToto();
}
|
--
Jérémie
|
|
| Back to top |
|
 |
julien Guest
|
Posted: Sun Aug 08, 2004 1:52 pm Post subject: Question sur les include |
|
|
La solution est peut être très simple (donc peut être question stupide..).
Je cherche à faire de facon elegante ceci:
Voila je fais souvent deux classes. Une classe objetToto, et une class
managerObjetToto,
*****dans "objetToto.h"******
#include "managerObjetToto.h"
class objetToto
{
private:
static managerObjetToto _mot
public:
objetToto():
virtual ~objetToto();
}
//----------------------------------------
******dans "managerObjetToto.h"*****
#include "objetToto.h"
#include <vector>
class managerObjetToto
{
private:
static std::vector<objetToto> _objectTotoTab;
public:
managerObjetToto():
virtual ~managerObjetToto();
}
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).
merci
|
|
| Back to top |
|
 |
julien Guest
|
Posted: Wed Aug 11, 2004 3:03 pm Post subject: Re: Question sur les include |
|
|
Jeremie Fouche wrote:
| Quote: | julien <forum (AT) no--Spam_the-last-dream (DOT) com> a écrit dans le message :
41162ffa$0$9761$636a15ce (AT) news (DOT) free.fr...
La solution est peut être très simple (donc peut être question stupide..).
Je cherche à faire de facon elegante ceci:
Voila je fais souvent deux classes. Une classe objetToto, et une class
managerObjetToto,
*****dans "objetToto.h"******
// #include "managerObjetToto.h" A SUPPRIMER
class managerObjetToto;
class objetToto
{
private:
static managerObjetToto _mot
public:
objetToto():
virtual ~objetToto();
}
file://----------------------------------------
******dans "managerObjetToto.h"*****
// #include "objetToto.h" A SUPPRIMER
class objetToto;
#include <vector
class managerObjetToto
{
private:
static std::vector
public:
managerObjetToto():
virtual ~managerObjetToto();
}
--
Jérémie
|
merci donc il y a pas mieux, ok.
PS: si je supprime lrs deux include ca va être dur pour le compilo.
|
|
| Back to top |
|
 |
Jeremie Fouche Guest
|
Posted: Thu Aug 12, 2004 5:48 am Post subject: Re: Question sur les include |
|
|
julien <forum (AT) no--Spam_the-last-dream (DOT) com> a écrit dans le message :
411a3518$0$31071$626a14ce (AT) news (DOT) free.fr...
[...]
| Quote: | merci donc il y a pas mieux, ok.
|
heu, peut etre, mais je ne connais pas.
| Quote: | 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
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Thu Aug 12, 2004 12:28 pm Post subject: Re: Question sur les include |
|
|
"Jeremie Fouche" <jeremie.fouche.tonmasque (AT) tiscali (DOT) fr> writes:
| Quote: | julien <forum (AT) no--Spam_the-last-dream (DOT) com> a écrit dans le message :
41162ffa$0$9761$636a15ce (AT) news (DOT) free.fr...
*****dans "objetToto.h"******
// #include "managerObjetToto.h" A SUPPRIMER
class managerObjetToto;
class objetToto
{
private:
static managerObjetToto _mot
public:
objetToto():
virtual ~objetToto();
}
******dans "managerObjetToto.h"*****
// #include "objetToto.h" A SUPPRIMER
class objetToto;
#include <vector
class managerObjetToto
{
private:
static std::vector
public:
managerObjetToto():
virtual ~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
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|