[C++] Problème headers
Résolu/Fermé2 réponses
Bonjour
Vers le milieu de employe.h, il manque une parenthèse à la fin de
Les destructeur ~bureau(); et ~batiment(); sont seulement déclarés, pas définis. Il faudrait ~bureau() {} et ~batiment() {} pour les définir.
Je te renvoie aux manuels pour la différence entre déclarer et définir.
D'ailleurs, d'une manière générale, les headers ne devraient contenir que des déclarations, pas des définitions
Vers le milieu de employe.h, il manque une parenthèse à la fin de
bat.setnum(ba.getnum();
Les destructeur ~bureau(); et ~batiment(); sont seulement déclarés, pas définis. Il faudrait ~bureau() {} et ~batiment() {} pour les définir.
Je te renvoie aux manuels pour la différence entre déclarer et définir.
D'ailleurs, d'une manière générale, les headers ne devraient contenir que des déclarations, pas des définitions
pour éviter les problèmes des fichiers inclus 2 fois, on fait souvent dans les fichiers .h
#ifndef __INCLUDEBUREAU
#define __INCLUDEBUREAU
(contenu du fichier.h
#endif
comme ça, lors d'une deuxième inclusion, comme __INCLUDEBUREAU est déjà défini on n'inclut plus rien du tout et il n'y a pas de problème.
Evidemment, le symbole __INCLUDEBUREAU doit être différent pour chaque fichier .h !
Bon week-end
#ifndef __INCLUDEBUREAU
#define __INCLUDEBUREAU
(contenu du fichier.h
#endif
comme ça, lors d'une deuxième inclusion, comme __INCLUDEBUREAU est déjà défini on n'inclut plus rien du tout et il n'y a pas de problème.
Evidemment, le symbole __INCLUDEBUREAU doit être différent pour chaque fichier .h !
Bon week-end
4 janv. 2008 à 16:43
Merci. J'ai ajouté la parenthèse dans employe.h et défini les destructeurs.
Le programme a tourné quand j'ai supprimé cet include : au niveau du fichier employe.h
Bonne fin de journée :)