IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Appel d'un constructeur avec paramètres dans un constructeur d'une autre classe.


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Appel d'un constructeur avec paramètres dans un constructeur d'une autre classe.
    Bonjour,

    Je n'arrive pas à trouver la bonne syntaxe pour appeler un constructeur avec paramètre dans un constructeur d'une autre classe ... voici un exemple de code pour expliquer mon PB :

    La première classe A possède un constructeur par paramètre qui prend en entrée deux pointeurs sur des objets de classe C et D
    et également un constructeur sans paramètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class A {
     
    public:
     
    A( C * param1, D * param2);
    A();
    virtual ~A();
    };

    la classe B possède un attribut privé "toto" qui est une instance de la classe A
    le constructeur de B prend également des pointeurs sur C et D en paramètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class B {
     
    private :
          A toto;
     
    public:
     
    B( C * param1, D * param2);
    virtual ~B();
    };
    le problème apparait lors de l'écriture du constructeur de la classe B pour instancier correctement la variable "toto"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    B::B( C * param1, D * param2)
    {
            toto(param1, param2);  // error: type 'A' does not provide a call operator
    }
    C'est là que je n'utilise pas la bonne syntaxe
    j'ai également essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    B::B( C * param1, D * param2)
    {
            A toto(param1, param2);
    }
    mais dans ce cas c'est le constructeur A(); qui est exécuté par mon programme ...

    Je n'arrive pas à trouver l'erreur (qui est sans doute évidente)

    merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Il te faut le mettre dans la liste d'initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    B::B( C * param1, D * param2)
      :  toto(param1, param2)
    {
        // ...
    }
    Plus d'information à ce sujet dans la FAQ Mes constructeurs doivent-ils utiliser les listes d'initialisation ou l'affectation ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup !
    On peut apprendre beaucoup de chose sur ce forum !
    Génial

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 04/04/2012, 14h54
  2. ajout ligne avec donnée dans msflexgrid à partir d'une autre form
    Par bastos77 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/03/2009, 17h08
  3. [C#]Constructeur avec paramètre dans designer
    Par ClaudeBg dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/02/2009, 19h18
  4. update avec paramètre dans access (pour modifier une image)
    Par salihovic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/02/2008, 21h27
  5. Réponses: 3
    Dernier message: 20/04/2007, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo