Besoin d'un peu d'aide sur l'héritage et les constructeurs [Résolu]

Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
11 août 2008
- - Dernière réponse : 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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
2
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de steve_clamage
0
Merci
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é.
Commenter la réponse de
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
11 août 2008
0
Merci
Donc ce que tu me préconise c'est d'avoir une méthode auxilaire appelée par les deux constructeurs ?

neodelphi
Commenter la réponse de neodelphi
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
2
0
Merci
Par exemple, et tu peux la mettre en private si elle n'a pas lieu de faire partie de l'interface publique.
Commenter la réponse de steve_clamage
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
C'est ce je ferais
Commenter la réponse de vecchio56
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
11 août 2008
0
Merci
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 :)
Commenter la réponse de neodelphi