Probleme simple qui ne fonctionne pourtant pas
Bonjour, j'ai codé un mécanisme qui ne fonctionne pas mais je ne comprends pas pourquoi?? voici ce que çà donne (très simplifié):
Je crée une classe qui effectue le traitement global et regroupant les traitement génériques, et d'autre(s) classe(s) les traitement spécifiques:
La classe CToto déclare des objets des classes de traitement spécifique, et c'est là le problème, les classe spécifiques utilisent les méthodes génériques, donc je fais passé en argument un type "CToto":
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include "Titi.h"
class CToto //générique et global
{
public:
CToto();
void TraitementGlobal();
void TraitementGenerique();
CTiti mTiti;
};
//Dans le CPP
void CToto::TraitementGlobal()
{
mTiti.TraitementSpecifique(*this);
}
void CToto::TraitementGenerique()
{
//Traitement générique
} |
Puis je crée plusieurs autres classe dédiées à un traitement spécifique:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #include "CToto"
class CTiti //spécifique
{
public:
CTiti ();
void TraitementSpecifique(CToto& toto) //ICI PROBLEME! il ne reconnais pas le type??
{
toto.TraitementGenerique();
}
}; |
Si quelqu'un aurait la sympathie de m'éclairer sur le problème, ou bien me proposer une autre solution..
Merci d'avance, j'attends avec impatience vos réponses!:)
Victoire
Super! Ca Marche [RESOLU]
:ccool: Bonjour,
Oui effectivement mon problème était un header entre croisé. Il à suffit donc de faire une prédéclaration de la classe tel que:
class CTiti;
class CToto
{
.....
};
et puis dans le cpp d'ajouter l'include:
#include "CToto.h"
ainsi je peux faire appelle à la classe "maitre" dans les classes "esclaves"
Merci encore!
Victor