C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Question sur les include

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Jeremie Fouche
Guest





PostPosted: Sun Aug 08, 2004 1:50 pm    Post subject: Re: Question sur les include Reply with 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...
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;

Quote:
class objetToto
{
private:
static managerObjetToto _mot
public:
objetToto():
virtual ~objetToto();
}
file://----------------------------------------
******dans "managerObjetToto.h"*****


// #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





PostPosted: Sun Aug 08, 2004 1:52 pm    Post subject: Question sur les include Reply with 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"

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





PostPosted: Wed Aug 11, 2004 3:03 pm    Post subject: Re: Question sur les include Reply with quote



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





PostPosted: Thu Aug 12, 2004 5:48 am    Post subject: Re: Question sur les include Reply with quote


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





PostPosted: Thu Aug 12, 2004 12:28 pm    Post subject: Re: Question sur les include Reply with quote

"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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.