Probleme avec une fonction de log

cs_erazor Messages postés 85 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 8 février 2007 - 23 janv. 2005 à 18:40
Vulpetrus Messages postés 70 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 21 décembre 2005 - 16 févr. 2005 à 18:36
bonjour
voila, mon probleme est le suivant: je suis en train de programmer un jeu de stratégie temps réel afin de me former a la prog en cpp et afin d'avoir un suivit de ce qui se passe ai implanté un systeme de log. Le probleme est que la fonction de log est a l'interieur d'une classe et que je dois l'utilisée dans toutes les autres classes du jeu.

dois je plutot laisser la declaration de la fonction en dehors d'une classe et la declarer friend dans toutes les classes qui l'utilisent?

merci d'avance pour vos reponses ;-)

3 réponses

tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
23 janv. 2005 à 23:52
Normalement tu peu la laisser la où elle est.
Je débute moi aussi en programmation mais si j'ai bien compris
tu peux inclure cette classe dans les classe où tu a besoin de ta fonction
c'est le principe de l'héritage.
0
cs_erazor Messages postés 85 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 8 février 2007
24 janv. 2005 à 08:47
oui mais la classe en question n'etait pas juste une classe special pour les fonctions de log, donc ca me gene un peu de devoir derivé mes autres classes de celle ci

j'ai donc pour le moment fait comme cela: j'ai créé une classe avec juste mes fonctions de log et je dervive toutes mes autres classes de celle ci

mon probleme est que maintenant je n'arrive pas a utiliser les constructeurs destructeurs, devcpp me disant qu'ils ne sont pas declares comme precedemment

le fait que les classes soient derivees d'une autre necessite il de declarer d'une autre maniere les constructeurs et destructeurs?

voici coment je les declare pour le moment, si vous voyez une erreur...

classe::classe()
{
...
}

~classe:classe()
{
...
}
0
Vulpetrus Messages postés 70 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 21 décembre 2005
16 févr. 2005 à 18:36
Si la classe ClasseFille hérite de la classe ClasseMère, la syntaxe n'est pas la même pour les déclarations :

dans le fichier header :

class ClasseFille : public ClasseMère
{
...
};

dans le fichier cpp :

ClasseFille
::ClasseFille
() : ClasseMère()

{
...
}

Par contre je ne suis pas sur du sens que tu entends par dériver (est-ce vraiment un héritage ?)

Si c seulement pour utiliser une fonction outils dans toutes les classes, tu créer tes fonctions outils à part avec leurs headers et tu inclus cet header dans les classes pour lesquelles tu as besoin d'utiliser ces fonctions outils.
Et alors pas besoin d'héritage.
0
Rejoignez-nous