Bon voila darkman, ce que tu v faire est impossible car a la compilation voila ce que va faire le compilateur :
ds jeu.h, il va voir #include"joueur.h" et il va voir ds "joueur.h" et la encore, il voit #include"jeu.h" et ainsi de suite, ce sera des appels sans fin entre les 2 fichiers, d'ou l'erreur, en objet impossible cela.
Voila ce q tu vas faire :tu crees tes 2 classes sans y mettre les agregations, i evoila :
class CJeu
{//donnes qui st propres a jeu et methodes. sans instance de CJoueur
};
class CJoueur
{//donnes et methodes propres sans instance de CJeu
}
//methode 1 :
Ensuite,tu crees un fichier assoc.h et tu fais :
class CAssoc
{
CJeu *unJeu;//liste de jeux
CJoueur *unJoueur;//lioste de joueurs
public:
void ajouter(Cjoueur *joueur, int pos);
void supprimer(Cjeu *jeu,int pos);
//..., en fait ces 2 methodes st juste des exemples, tu fais ce q tu v
//methode2
tu crees un fichier JoueurSpe.h
class CJoueurSpe : public Cjoueur
{CJeu *unJeu;//une liste de jeu
//etc....
};
puis un fichier JeuSpe.h
class CJeuSpe : public Cjeu
{CJoueur * unJoueur;
//etc..
};
voila, notre prof d'objet a prefere la premiere methode mais moi je prefere la seconde(que j'ai fait moi-meme d'ailleurs).Mais attention, donc pour la methode 2, tes 2 classes Cjeu et CJoueur, tu ne les instancie pas ds le main car t'en a pas besoin, puisque les classes spe st celles dont t'as besoin.
Sinon, si t'es pas satisfait, reponds a dje-dje, peut etre qu'il a une autre solution,effectivement.
tafiscobar