Question de "cours" : constructeurs de classe dérivée et classe de base [Résolu]

Signaler
Messages postés
12
Date d'inscription
vendredi 26 décembre 2003
Statut
Membre
Dernière intervention
2 septembre 2005
-
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Bonjour,

j'ai une classe personne et une classe etudiant dérivée de personne.
J'ai le constructeur Personne(string n)
J'ai aussi le constructeur etudiant(string mt[], float nt[],string n):personne(n).
Pourrait on m expliquer l'intèrêt de personne(n) à la fin de ce dernier constructeur?
Merci de votre future réponse.
a bientot.

5 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Ca va appeler le contructeur Personne avec n comme argument, sinon c'est le constructeur par défaut qui serait appelé. Et s'il n'y a pas de constructeur pas défaut, ca ne compile tout simplement pas.
Messages postés
12
Date d'inscription
vendredi 26 décembre 2003
Statut
Membre
Dernière intervention
2 septembre 2005

Merci beaucoup de ta réponse rapide. :) A bientot.
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ton constructeur est

etudiant(string mt[], float nt[],string n);





son implémentation est



etudiant(string mt[], float nt[],string n):personne(n)

{

...

}





cela équivaut à peu de choses près à



etudiant(string mt[], float nt[],string n)

{

Personne p(n);

personne=p;

...
}

si l'opérateur d'égalité est défini.



Nota:

l'opérateur d'héritage (:) est une spécificité du C++ et n'hexiste plus en C#

ou on écrira




etudiant(string mt[], float nt[],string n)


{


personne=new Personne(n);


...

}



......... sauf erreur de ma part.

___________________________________________________________
Magicalement
Nono
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Je pense pas que personne n'est pas membre de la classe étudiant, il s'agit de la classe mère, donc le code n'est pas équivalent à ce que tu écris. On est obligé ici d'utiliser la méthode avec le :
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
sans héritage, la solution pour avoir qqch de similaire (point de vu
donnée, pas facilité d'acces) est d'avoir 'personne' en tant que membre
de Etudiant.

___________________________________________________________
Magicalement
Nono