Salut � tous,

Je suis �tudiant en 1e ann�e de DUT info et je dois r�aliser un projet visant � reproduire une version simplifi�e de Facebook en utilisant deux classes : une classe Personne et une classe Facebook. J'ai donc cr�� 4 fichiers : personne.h, personne.cpp, facebook.h et facebook.cpp. Un des attributs de ma classe Facebook est un tableau de Personnes contenant tous les inscrits. Afin de pouvoir travailler avec la classe Facebook dans la classe Personne, on me demande de faire une d�claration de la fa�on suivante dans mon fichier personne.h (chose que j'ai faite) :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
class Facebook ;
class Personne{} ;
Si je n'inclus pas le fichier facebook.h dans mon fichier personne.h, le compilateur m'indique que les attributs de la classe Facebook que j'utilise dans les m�thodes de Personne ne sont pas d�clar�s.
Mais si je fais cette d�claration, j'obtiens l'erreur suivante dans mon fichier facebook.h (ligne 12) : "error: 'Personne' does not name a type"
Et l� je ne sais plus quoi faire

Voici des extraits de mes deux headers :

personne.h :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef PERSONNE_H_INCLUDED
#define PERSONNE_H_INCLUDED
 
#include <string>
#include "facebook.h" // l'inclusion maudite qui fait foirer la compilation
 
using namespace std;
 
class Facebook;
 
class Personne
{
    private :
 
        string nom;
        string prenom;
 
    public :
 
        ...
};
 
#endif // PERSONNE_H_INCLUDED

facebook.h :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef FACEBOOK_H_INCLUDED
#define FACEBOOK_H_INCLUDED
 
#include "personne.h"
 
const int MAXPERSONNES=100;
 
class Facebook
{
    private :
 
        Personne fb[MAXPERSONNES]; // c'est ici que j'obtiens mon erreur
        int tabId[MAXPERSONNES];
        int nbPers;
        bool tabRelation[MAXPERSONNES][MAXPERSONNES];
 
    public :
 
        ...
};
 
#endif // FACEBOOK_H_INCLUDED

J'esp�re donc que vous pourrez m'aider � r�soudre ce probl�me

Merci d'avance !