Bonjour,
Je suis sur un problème de constructeur depuis quelques heures et n'y arrivant pas, je m'en remets à vous.
Voici ma classe de base Personne très résumée (dans le fichier Personne.h, le code des constructeurs se trouvant dans un fichier nommé Personne.cxx) :
Je défini une autre classe que je nomme CorrespondantEMail (dans le fichier CorrespondantEMail.h) et qui hérite de la classe de base Personne dont voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Personne { protected: char *nom; char *prenom; int DateNaiss; public: Personne (void); Personne (char *nom, char *prenom, int DateNaiss); Personne (Personne &p); ~Personne (); };
J'aimerais avoir uniquement la déclaration du constructeur d'initialisation dans la classe et son code en dehors de la classe (dans un autre fichier, nommé CorrespondantEMail.cxx), tout comme je fais avec ma classe Personne. J'ai essayé (entre autres) ce qui suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "Personne.h" class CorrespondantEMail:public Personne { private: int code; public: CorrespondantEMail (int c=1): Personne() { code=c; } };
La classe CorrespondantEMail (dans le fichier CorrespondantEMail.h) :
Et le code du constructeur d'initialisation (dans le fichier CorrespondantEMail.cxx) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include "Personne.h" class CorrespondantEMail:public Personne { private: int code; public: CorrespondantEMail (int c=1):Personne(); };
Mais cela ne fonctionne pas, pourriez-vous m'indiquer la syntaxe correcte ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "CorrespondantEMail.h" CorrespondantEMail::CorrespondantEMail(int c=1):Personne() { code=c; }
J'espère avoir été assez bref et assez clair.
Merci de l'attention que vous porterez à mon message.
Partager