IINCLUDE les header

cs_psycomel Messages postés 128 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 24 octobre 2006 - 30 mai 2004 à 02:53
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005 - 30 mai 2004 à 20:21
Bonsoir,

j'ai pleins classes, alors dans la normalité je mets la déclaration des attributs et méthodes dans un fichier header .h et la descrption de ces methodes dans un cpp pour chaque classe. + mon main.cpp autre part

je pense que dans chaque cpp de la classe on fait un include de son header. jusqu'ici oké.

mais alors j'ai des classes qui contiennent des attributs d'autres classes (j'ai alors la solution de placer le header de l'autre classe) . Malheuresement l'autre classe contient aussi des attributs de la classe ci-précedement énnoncée. alors le copilateur me dit qu'il y a une redéfinition des methodes. ..

Que je mette les header d'un coté ou de l'autre c'est pareil, ca bloque toujours quelque part. Même en changeant l'ordre ca bloque toujours quelquepart. Alors ya -t il une PLACE miracle, où je pourrais tous les mettre ?

j'étais presque au bout de mon prog . jvé pa ppvoir dormir trankille %-6

3 réponses

cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
30 mai 2004 à 05:57
pour que tes définitions soient toujours uniques, tu peux faire comme ça :

fichier .h de la classe classe1 :

#ifndef _CLASSE1_H_
#define _CLASSE1_H_

class classe1
{
...
};

#endif

fichier .h de la classe classe2 :

#ifndef _CLASSE2_H_
#define _CLASSE2_H_

class classe2
{
...
};

#endif

Ca devrait éliminer les problèmes de redéfinitions.

a+
alain
0
cs_psycomel Messages postés 128 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 24 octobre 2006
30 mai 2004 à 14:21
Le nombre d'erreur est toujours aussi surprenant.

Les includes faudrait les placer ou ?

error C2501 : 'CollectionCompte' : missing storage-class or type specifier

c'est lerreur qui génére toute les autres je pense.

Le truk c'est aucune des classes ne peut êtr placée avant une autre car les types sont tous entrelacés..

?????????
AAAAAAAAAAA Comment faire
0
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
30 mai 2004 à 20:21
Moi, les include, je les mets tous dans le stdafx.h (ou un autre fichier si je suis sous linux - ou autre que visual), et dans les fichiers .cpp, je mets seulement :

include "stdafx.h"' (ou un autre nom de ficiher).

je ne pense pas qu'il soit possible d'avoir une classe B instanciant des objets de la classe A, et une classe A instanciant des objets de la classe B.

Tu devrais peut-être revoir ton modèle de données pour éviter cela. enfin, je n'ai pas d'autre solution à te proposer.

a+
alain
0