[DEBUTANT] Problème héritage

Problème héritage [DEBUTANT] - C++ - Programmation

Marsh Posté le 26-11-2005 à 13:00:11    

Bonjour,
 
Voila je suis debutant en C++  , j'essaie de faire ma premiere class dérivée :

Code :
  1. class CorrespondantEmail : public Personne
  2. {
  3. private :
  4.  string Email;
  5. };
  6. class Personne
  7. {
  8. protected :
  9.  string m_Nom;
  10.  string m_Prenom;
  11.  string m_DateNaissance;
  12. public :
  13.  void SetNom(string);
  14.  void SetPrenom(string);
  15.  void SetDateNaissance(string);
  16.  string GetPrenom(void);
  17.  string GetNom(void);
  18.  string GetDateNaissance(void);
  19.  void Affiche(void);
  20.  friend ostream& operator<<(ostream&,Personne& );
  21. };


 
Je sais bien que je ne pourrais pas instancier Email etc ... la n'est pas la question , c'est juste pour tester rapidement.
Mon probleme , lorsque je compile j'obtiens l'erreur suivante :  
Expected class-name before '{' token
 
J'utilise g++ sous ubuntu.
 
Merci pour votre aide  :jap:

Reply

Marsh Posté le 26-11-2005 à 13:00:11   

Reply

Marsh Posté le 26-11-2005 à 13:14:49    

Je suppose que ça vient du fait que la classe Personne est déclarée après la classe CorrespondantEmail. Deux solutions : tu déclares la classe Personne avant ou tu ajoutes la ligne
 
class Personne;
 
au début du fichier.


Message édité par slash33 le 26-11-2005 à 13:15:30
Reply

Marsh Posté le 26-11-2005 à 13:15:23    

Il faut que la classe de base soit déclarée et définie avant la déclaration de la classe dérivée. Ensuite la définition des fonctions membres n'a pas d'importance.

Reply

Marsh Posté le 26-11-2005 à 13:28:44    

Arf merci , c'est con en réalité  
C'est vrai que j'ai l'habitude de ca pour les fonctions, va falloir que je l'applique aussi aux class alors :)
 
 
Merci bcp ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed