begin process at 2012 05 30 04:13:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Membres amies


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Membres amies

mardi 31 mai 2005 à 22:16:06 | Membres amies

gdefrance

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

mardi 31 mai 2005 à 23:37:31 | Re : Membres amies

poppyto

Membre Club Administrateur CodeS-SourceS
Ton code fonctionne très bien hormis la classe personne dont tu as oublié le nom !

#ifndef _personne_
#define _personne_
    
      class personne
   {
    // Déclarations des variables

    protected:
    char *nom, *prenom;
    int age;



[ Lien ] LE site pour les bassistes
mercredi 1 juin 2005 à 21:34:14 | Re : Membres amies

gdefrance

Salut poppyto, merci de me lire et de m'aider,
salut à tous,

j'ai retourné mon programme dans tous les sens et j'ai toujours le même message d'erreur.
De ce fait, j'ai copié le fichier "appreciation.h" dans le fichier "enseignant.h" à la suite
et j'ai fait de même pour les fichiers ".cpp"
J'ai aussi retiré du projet le fichier "enseignant"
Et la miracle, il n'y a plus d'erreur du style "enseignant::apprecie(etudiant &,const char *)" , ma fonction friend fonctionne comme il se doit.

Je ne vois vaiment pas pourquoi, serait-ce la déclaration en avant de la class "enseignant" dans le fichier "appreciation.h" qui ne convient pas.
Sachant que je dois faire une fonction friend avec ma class "etudiant", il risquerait à la fin de me rester plus qu'un fichier !!!

Si vous avez des idées pour m'éclairer, merci et bonne soirée à tous.
mercredi 1 juin 2005 à 21:47:28 | Re : Membres amies

poppyto

Membre Club Administrateur CodeS-SourceS
Je comprend mieux,
dans appreciation . h, il manquait #include"enseignant.h"

Stef ^^

[ Lien ] LE site pour les bassistes
mercredi 1 juin 2005 à 22:07:35 | Re : Membres amies

gdefrance

Salut poppyto,

J'ai fait ce que tu m'as dit et là, le message d'erreur est :

[C++ Erreur] enseignant.h(18): E2238 Déclaration multiple pour 'enseignant'
[C++ Erreur] enseignant.h(18): E2344 Déclaration plus récente de 'enseignant'

A ne rien n'y comprendre !!!!!!!!

Merci pour ton aide.

mercredi 1 juin 2005 à 22:13:10 | Re : Membres amies

poppyto

Membre Club Administrateur CodeS-SourceS
Ok je tente sans tester :


#ifndef _appreciation_
#define _appreciation_

#include"enseignant.h"


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




[ Lien ] LE site pour les bassistes
mercredi 1 juin 2005 à 22:43:01 | Re : Membres amies

gdefrance

Ca y est, ca marche,
En fait j'ai viré tout les includes dans le fichier "appreciation.h" et depuis, plus de problème, ma fonction est bien appelé et elle tout fonctionne sans erreur.
Allez donc comprendre pourquoi ????????

Merci à toi Poppyto, de m'avoir aidé, au plaisir et bon courage avec les autres question, je suis loin de pouvoir aider les collègues mais bientôt j'espère.

Merci.


Cette discussion est classée dans : const, void, char, etudiant, enseignant


Répondre à ce message

Sujets en rapport avec ce message

qu'en pensez vous?? besoin d'aide!! lol [ par nelly77 ] bonjour je voudrai créer un tableau avec une liste de produits ayant des attributs comme  leur nom, leur etat dans un stock, la duree de fabrication e comment gerer ce projet pour que deux etudiants n'aient pas le meme code [ par desco182 ] Salut a tous j'aimerais bien que quelqu'un m'aide .#include#include#include#ifndef ETUDIANT_H#define ETUDIANT_Hclass etudiant{int code;<br / question sur le C [ par zoneart ] Bonjour, J'ai une question sur le C: void exemple(const *char); int main(void) { char nom[20]; memset (nom, 0, 20); printf ("Entrez un nom : conjugaison en c++ [ par abdelali62 ] Bonsoir tt le monde c'est mon premier programme en c++ j'ai trouve une difficulter a implante le code de la fonction main mais je vais pas besser les Convertir tableau int en const char* et inverse [ par samuraijack1412 ] Bonjour,J'ai écrit une application client-serveur. Ils se communiquent par des sockets TCP. Pour envoyer au serveur un tableau d'entier, j'utilise:int Inserer un fichier texte dans un const char Fichier[]... [ par pinkfloydhighopes ] bonjour, tout est dans le titre... je suis en trin de faire un système d'exploitation en elf qui utilise le multiboot de grub. je cherche depuis pomal Fonction _T(); [ par d4M13N ] Bonjour,Je suis en train de faire un petit programme en C++ Application Windows Form sous Microsoft Visual Studio 2005.Je suis bloqué sur une malheure


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales