Besoin d'un peu d'aide sur l'héritage et les constructeurs

Résolu
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008 - 31 août 2005 à 19:23
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008 - 31 août 2005 à 22:33
Bonjour tout le monde, j'ai deux petites question à propose du langage c++ sur l'héritage et les constructeurs:

Tout d'abord, je voudrai savoir si lorsque une classe contiend deux constructeurs, un des constructeur peut appeler l'autre (par exemple un constructeur 2 fesant la meme chose que le 1 plus quelque chose, afin d'éviter la duplication de code). Si oui quelle est la synthaxe ?

Ensuite j'aimera savoir si un constructeur d'une classe B héritant d'une classe A peut appeler le constructeur de A lorsque une instance est crée ?

Merki pour vos réponses

neodelphi

6 réponses

steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
31 août 2005 à 19:58
Je me suis trompé le constructeur n'est pas une methode donc on ne peut
pas l'appeler dans un autre, faut jouer avec les valeurs par défaut
pour factoriser le code.
3
Pour appeler le constructeur dans un autre c'est comme un appel de méthode.



Pour appeler le constructeur d'une base:



class A

{

public:

A(int n);

};



class B : public A

{

public:

B() : A(0)

{

}



};



Sans A(0) c'est le constructeur par défaut de A qui aurait été appelé.
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
31 août 2005 à 20:05
Donc ce que tu me préconise c'est d'avoir une méthode auxilaire appelée par les deux constructeurs ?

neodelphi
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
31 août 2005 à 20:14
Par exemple, et tu peux la mettre en private si elle n'a pas lieu de faire partie de l'interface publique.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
31 août 2005 à 20:15
C'est ce je ferais
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
31 août 2005 à 22:33
Ok merci pour vos réponse, je ferai donc avec une méthode auxiliaire en privée, ce que j'avait effectué en attendant pour continuer mon projet.

Merci et bon coding :)
0
Rejoignez-nous