Constructeur de class enfant

Messages postés
63
Date d'inscription
mercredi 5 octobre 2005
Dernière intervention
17 février 2018
- 30 nov. 2015 à 09:15 - Dernière réponse :
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
22 novembre 2016
- 22 nov. 2016 à 22:30
bonjour, j'ai un question pour l'héritage entre deux classes. je crée un classe parent "Contribuable" et un autre classe enfant utilisateur, puis je mis un constructeur pour le classe parent mais quand j'insère un constructeur au classe enfant il m'affiche cette erreur "Error 1 'contribuable' does not contain a constructor that takes 0 arguments contribuable.cs"
public class utilisateur : contribuable
    {
        public utilisateur()
        {
        }
    }
   public class contribuable
    {
        public string MATRICULE_FISCALE, ADRESSE_PERSONEL, ADRESSE_SIEGE, E_MAIL, TYPE_CLIENT, ACTIVITE_PRINCIPALE,
            ACTIVITE_SECONDAIRE, REGISTRE_COMMERCIAL, BANQUE1, AGENCE1, RIB1, BANQUE2, AGENCE2, RIB2,  DATE_SAISIE,
            NOM_ENTREPRISE, Nom_Contribuable_Physique, Prenom_Contribuable_Physique, Nom_Contribuable_Forfaitaire,
            Prenom_Contribuable_Forfaitaire, NOM_GERANT, PRENOM_GERANT, ADRESS_PERSONNEL_GERANT, MAIL_GERANT;
        public int NUM_TEL1, NUM_TEL2, NUM_FAXE, NUM_MOBILE, NUM_TEL_GERANT, MOBILE_GERANT,CIN_GERANT;
 
        public contribuable(string _matricule_fiscale,int _num_tel1, int _num_tel2, int _num_faxe,int _num_mobile,string _adresse_personel,string _adresse_siege,string _e_mail,string _type_client,string _activite_principale,string _activite_secondaire,string _registre_commercial,string _banque1,string _agence1,string _rib1,string _banque2,string _agence2,string _rib2,int _cin,string _date_saisie)
        {
        this.MATRICULE_FISCALE    = _matricule_fiscale;
        this.NUM_TEL1             = _num_tel1;
        this.NUM_TEL2             = _num_tel2;
        this.NUM_FAXE             = _num_faxe;
        this.NUM_MOBILE           = _num_mobile;
        this.ADRESSE_PERSONEL     = _adresse_personel;
        this.ADRESSE_SIEGE        = _adresse_siege;
        this.E_MAIL               = _e_mail;
        this.TYPE_CLIENT          =_type_client;
        this.ACTIVITE_PRINCIPALE  =  _activite_principale;
        this.ACTIVITE_SECONDAIRE  =  _activite_secondaire;
        this.REGISTRE_COMMERCIAL  =  _registre_commercial;
        this.BANQUE1              = _banque1;
        this.AGENCE1              = _agence1;
        this.RIB1                 = _rib1;
        this.BANQUE2              = _banque2;
        this.AGENCE2              = _agence2;
        this.RIB2                 = _rib2;
        this.CIN_GERANT                  = _cin;
        this.DATE_SAISIE          = _date_saisie;
           }


est - ce que le constructeur enfant ne peut pas créer sans un constructeur vide de calsse parent?

Afficher la suite 

Votre réponse

2 réponses

Messages postés
23
Date d'inscription
vendredi 1 janvier 2016
Dernière intervention
9 mai 2016
- 2 janv. 2016 à 20:47
0
Merci
Bonjour, ce qui est important c'est de savoir qui hérite de qui. j'ai l'impression que est monté à l'envers.

Si l'utilisateur est un contribuable tu es correctes, il faut juste que tu changes ta classe et ton constructeur contribuable par utilisateur.

si le contribuable est un utilisateur, il faut changer l'ordre dans ton instance de classe par "contribuable : utilisateur" et alors ça vas fonctionner si ta classe utilisateur est correcte.
Commenter la réponse de Damboushow
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
22 novembre 2016
- 22 nov. 2016 à 22:30
0
Merci
Bonjour,

J'ai moi aussi l'impression que l'heritage est inversé. Et je me demande si dans ton cas c'est vraiment utile ?

Sinon pour resoudre ton probleme soit tu rajoutes un constructeur vide dans contribuable. Soit tu mets le meme constructeur que contribuable dans utilisateur mais en passant les parametres au parent en utilisant le mot clé base.

++
Commenter la réponse de elguevel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.