Bonsoir à tous, débutant en C++, j'ai besoin de votre aide pour trouver mon bug dans le programme.
Voilà, je dois faire un exo avec un membre friend et lorsque je compile il me met cette erreur : [C++ Erreur] appreciation.h(25): E2316 'enseignant::apprecie(etudiant &,const char *)' n'est pas un membre de 'enseignant'
je suis en train de tourner en rond et certainement de rajouter de grosses conneries avec mes mouffles.
Ma fonction se trouve dans le fichier "enseignant" et la déclaration friend dans le fichier "appreciation".
Merci à tous ceux qui prendront le temps de m'aider, Bonne Soirée à tous.
-----------fichier : personne.h------------------
#ifndef _personne_
#define _personne_
{
// Déclarations des variables
protected:
char *nom, *prenom;
int age;
// Déclarations des fonctions membres
public : personne(void);
personne(const char *, const char *, int age);
virtual ~personne(void);
void nouveau_nom(const char * nom);
void nouveau_prenom(const char *);
void nouveau_age(int);
virtual void affiche(void);
const char* retourne_nom(void)const;
public : virtual void get_nom_matiere(void); // etudiant et enseignant
virtual void entrer_note(void); // etudiant
virtual float moyenne(void); // etudiant
virtual void entrer_nbre_heure(void); // enseignant
virtual double cout_enseignant(void); // enseignant
};
# endif
----------------fichier etudiant.h------------------
#ifndef _etudiant_
#define _etudiant_
#include"personne.h"
class etudiant : public personne
{
// Déclarations des variables
string* matiere;
double* note;
int nbre_matiere;
// Déclarations des fonctions membres
public : etudiant(void);
etudiant(const char *, const char *, int age, int nombre_matiere);
~etudiant(void);
void get_nom_matiere(void);
void entrer_note(void);
float moyenne(void);
void affiche(void);
};
# endif
-----------------fichier : enseignant . h----------------------------------
#ifndef _enseignant
#define _enseignant_
#include"personne.h"
#include"etudiant.h"
class enseignant : public personne
{
// Déclaration des variables
string* matiere;
int* heure;
int nbre_matiere;
int tarif_horaire;
// Déclarations des fonctions membres
public : enseignant(void);
enseignant(const char *, const char *, int, int, int);
~enseignant(void);
void get_nom_matiere(void);
void entrer_nbre_heure(void);
double cout_enseignant(void);
void affiche(void); void apprecie(etudiant& , const char* );
};
# endif
-----------------Fichier Appreciation . h-------------------
#ifndef _appreciation_
#define _appreciation_
#include"personne.h"
#include"etudiant.h"
class enseignant;
class appreciation
{
char* nom_enseignant;
char* nom_etudiant;
char* commentaire;
friend void enseignant::apprecie(etudiant& , const char* );
public : appreciation(const char* nom_prof, const char* nom_eleve, const char* texte);
~appreciation();
};
# endif