En début du devoir1.cpp pour qu'il connaisse les classes rectangle et point.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
dans devoir1.cpp
j'ai les includes suivant
#include "rectangle.h"
Dans rectangle
#include "point.h"
j'ai fais la modifs
maitenant j'ai ces messages d'erreus
[quote]
redefinition of `class point'
revious definition here
warning: `operator <<(ostream &, const point &)' is already a friend of class `point'
warning: previous friend declaration of `operator <<(ostream &, const point &)'
[/quote]
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !
Quand on fait un fichier .H, mettons truc.h, il faut le commencer ainsi :
[quote]#ifndef TRUC_H
#define TRUC_H[/quote]
puis finir ainsi :
[quote]#endif[/quote]
La raison est que lorsqu'on fait un #include "truc.h", le préprocesseur copie le fichier truc.h à l'emplacement du #include et donc, si on a plusieurs .h imbriqués, il arrive que la déclaration de classe se retrouve en double.
Avec ce que je viens de te donner, si la classeest déjà définie, elle ne le serra pas une seconde fois.
Si tu as mis #include "point.h" dans le rectangle.cpp et non dans le rectangle.h il faut que tu l'inclues (point.h) dans le devoir1.cpp afin que celui ci connaisse la classe point.
Explications : si le include point.h est dans le rectangle.h, comme luim même est inclus dans le devoir1.cpp, ainsi les deux .h seront dans le devoir1.cpp, si le point.h est inclus dans le rectangle.cpp, il faut le rajouter dans le devoir1.cpp pour qu'il soit connu.
Car les rectangle.cpp et devoir1.cpp sont deux modules différents.
Voila, voilou, ce soir je vais faire une FAQ sur les include.
__________________________
Lisez la [url=http://www.forum.moteurprog.com/bavardages/forum-msg-22857-1.htm]charte[/url], pensez à regarder la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php]FAQ[/url], les [url=http://www.moteurprog.com/Tutoriaux/]tutoriaux[/url], l'[url=http://www.moteurprog.com/Annuaire/]annuaire[/url] et faites une [url=http://www.forum.moteurprog.com/Rechercher/Index.php]recherche[/url] dans les forums.
N'oubliez pas le Tag [b][Résolu][/b][img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img].
Initiez-vous à Delphi avec [url=http://www.turboexplorer.com/delphi]Turbo Delphi Explorer[/url], au C ou au C++ avec [url=http://www.codeblocks.org]Code::Blocks[/url] et C# avec [url=http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx]Visual C# 2005 Express[/url].
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !
Il ne faut pas mettre les #ifndef dans les .cpp mais dans les .h
De plus, il ne faut pas faire #define "truc.h" mais :
[quote]#define TRUC_H[/quote]
Ainsi tu définis une une variable (pas au sens strict du terme) qui s'appelle TRUC_H et qui ne sert qu'à dire que le fichier tru.h a déjà été inclus.
__________________________
Lisez la [url=http://www.forum.moteurprog.com/bavardages/forum-msg-22857-1.htm]charte[/url], pensez à regarder la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php]FAQ[/url], les [url=http://www.moteurprog.com/Tutoriaux/]tutoriaux[/url], l'[url=http://www.moteurprog.com/Annuaire/]annuaire[/url] et faites une [url=http://www.forum.moteurprog.com/Rechercher/Index.php]recherche[/url] dans les forums.
N'oubliez pas le Tag [b][Résolu][/b][img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img].
Initiez-vous à Delphi avec [url=http://www.turboexplorer.com/delphi]Turbo Delphi Explorer[/url], au C ou au C++ avec [url=http://www.codeblocks.org]Code::Blocks[/url] et C# avec [url=http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx]Visual C# 2005 Express[/url].
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !
Je vais te tapper sur les doigts, tu n'as pas lu tout ce que je t'ai expliqué. Papa, va pas être content.
[quote] Quand on fait un fichier .H, mettons truc.h, il faut le commencer ainsi :
#ifndef TRUC_H
#define TRUC_H
puis finir ainsi :
#endif[/quote]
Non je déconne, normalement avec tout ça, ça doit marcher, si ce n'est pas le cas, tu sais ou t'adresser. :wink:
__________________________
Lisez la [url=http://www.forum.moteurprog.com/bavardages/forum-msg-22857-1.htm]charte[/url], pensez à regarder la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php]FAQ[/url], les [url=http://www.moteurprog.com/Tutoriaux/]tutoriaux[/url], l'[url=http://www.moteurprog.com/Annuaire/]annuaire[/url] et faites une [url=http://www.forum.moteurprog.com/Rechercher/Index.php]recherche[/url] dans les forums.
N'oubliez pas le Tag [b][Résolu][/b][img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img].
Initiez-vous à Delphi avec [url=http://www.turboexplorer.com/delphi]Turbo Delphi Explorer[/url], au C ou au C++ avec [url=http://www.codeblocks.org]Code::Blocks[/url] et C# avec [url=http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx]Visual C# 2005 Express[/url].
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !