inclusion de .h =>redefinition
Bonjour,
j'ai un probleme avec l'inclusion de plusieurs .h!
J'ai pas mal cherché sur le forum et la faq et j'ai trouvé des topics sur les references croisés mais ca ne s'adapte pas trop a mon cas donc desole si c'est bete comme choux (pitetre) mais je poste:
je dispose de ces fichiers;
Citation:
point.h
point.cpp
forme.h
polygone.h
polygone.cpp
rectangle.h
rectangle.cpp
carre.h
carre.cpp
dans les .h on retrouve des declarations de class et dans les .cpp les declarations des fonctions membres et non membres.
carre hérite de rectangle, qui hérite de polygone qui herite de forme.
Les inclusions sont les suivantes:
dans point.h
Code:
1 2 3 4 5
|
#if !defined(_POINT_H)
#define _POINT_H
#include <iostream>
#endif |
point.cpp
Code:
1 2 3 4
|
#include <iostream>
#include <math.h>
#include "point.h" |
forme.h
Code:
1 2 3 4 5
|
#if !defined(_FORME_H)
#define _FORME_H
#include <iostream>
#endif |
poly.h
Code:
1 2 3 4 5
| #if !defined(_POLYGONE_H)
#define _POLYGONE_H
#include <iostream>
#include "forme.h"
#include "point.h" |
poly.cpp
Code:
1 2
| #include <iostream>
#include "polygone.h" |
rect.h
Code:
1 2 3 4 5 6 7
|
#if !defined _RECTANCLE_H
#define _RECTANGLE_H
#include <iostream>
#include "point.h"
#include "polygone.h"
#endif |
rect.cpp
Code:
1 2
| #include <iostream>
#include "rectangle.h" |
carre.h
Code:
1 2 3 4 5 6 7
|
#if !defined _CARRE_H
#define _CARRE_H
#include <iostream>
#include "point.h"
#include "carre.h"
#include "rectangle.h" |
carre.cpp
Code:
1 2 3
|
#include <iostream>
#include "carre.h" |
et enfin le main.cpp
Code:
1 2 3 4
| #include <iostream>
#include "point.h"
#include "carre.h"
#include "rectangle.h" |
L'erreur du compil est la suivante:
Citation:
in file inlcluded from main.cpp
redefinition of class::median
previous definitioon of class median:rectangle
je ne vois pas trop ou est l'erreur d'inclusion!
Merci bcp de votre aide!