fonction amie d'une classe déclarée dans un autre fichier source
Bonjour à tous,
Après avoir codé une classe shape, j'ai écrit dans un autre fichier source des fonctions qui permettent d'afficher ces shapes. Je souhaiterai qu'il y ait un lien d'amitié entre les fonctions d'affichage et la classe shape.
J'ai donc fait la chose suivante :
-shape.hh
Code:
1 2 3 4 5 6 7 8 9
|
#include "plot.hh"
class Shape
{
....
friend void plot( Shape const& s);
....
}; |
-plot.hh
Code:
1 2 3 4 5
|
class Shape;
void plot(Shape const& s); |
-plot.cc
Code:
1 2 3 4 5 6 7
|
#include "plot.hh"
void plot(Shape const& s)
{
...
} |
malgré le fait que dans plot.hh j'ai déclaré la classe Shape j'obtiens comme message d'erreur : invalid use of incomplete type ‘const struct Shape’.
Ce message est du au fait que j'utilise dans la fonction plot un acces direct aux attributs de s. Pourtant ma fonction plot est amie à la classe shape.
Pouvez-vous m'aidez svp ?