Kezal
Messages postés2Date d'inscriptionjeudi 2 mai 2002StatutMembreDernière intervention 3 mai 2002
-
2 mai 2002 à 18:48
Kezal
Messages postés2Date d'inscriptionjeudi 2 mai 2002StatutMembreDernière intervention 3 mai 2002
-
3 mai 2002 à 21:41
Salut,
J'ai un leger problème et j'aimerais y trouver une solution, alors je viens demander conseil ici ;)
Alors voila, j'ai une classe :
class CEngine
{
public:
....
CModel m_model[10]; // Models
CLog m_log; // Pour garder une trace de ce qui se passe : ecrit les infos dans un fichier
....
};
et une autre classe :
class CModel
{
public:
....
???? -> probleme !
....
};
En fait, je souhaiterais utilser le membres 'm_log' de la classe CEngine dans la classe CModel !
Mais comment faire ? Le passer en parametres a chaque fonctions ? Avec un membre statique dans la classe CModel ? une variale globale ? (beurk)
Mais connaissances sont limitées, alors si vous connaissez une solution ...
Blustuff
Messages postés20Date d'inscriptionjeudi 7 mars 2002StatutMembreDernière intervention27 juin 2007 3 mai 2002 à 00:11
Si tu ne veux utiliser qu'un seul log pour chacune de tes instances, autant utiliser une variable globale ou statique (ce qui est exactement la même chose, du point de vue de la machine). Si tu préfere utiliser quand même des membres statiques dans tes classe, déclare dans une classe l'objet statique m_log, (ne pas oblier la définition CLog CEngine::m_log par la suite) et dans la classe CModel, utilise un membre statique CLog, que tu deefinira dans ton code par
CLog* CModel::m_log = &CEngine::m_log
Si j'ai bien compris ton programme, tu es obligé d'utiliser le log de manière globale.