Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Question]C++ Cour Mateo

Objet / attribut

    31 août 2007 à 15:09:51

    Bonjour ;)

    j'ai une question ^^
    Je voudrais savoir si c'est possible que lorsque que l'on creer en attribut d'une classe un (autre)objet il est possible de rajouter des parametres au constructeur de l'objet(l'objet que je creer en attribut)ou on doit forcement utiliser le constructeur par defaut ? (si ma question est pas clair demander moi j'vous montrerai un bout d'code ^^)

    Merci d'avance :D

    Ps: je demande ca parceque j'ai essayé et soit c'est pas possible, soit je me suis gouré^^
    • Partager sur Facebook
    • Partager sur Twitter
      31 août 2007 à 15:14:27

      Non tu peux utiliser le constructeur que tu veux, mais il faut le faire dans la liste d'initialisation.

      Sinon l'objet-attribut se construit "tout seul" ... en utilisant le constructeur par défaut.
      • Partager sur Facebook
      • Partager sur Twitter
      Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
        31 août 2007 à 15:28:28

        Donc je ne peux pas creer 2objets-attributs " differents " ?
        (pour l'instant je change les attributs de ces objets grace aux methodes mais je voulais savoir si il y avait une autre maniere ...)
        En tout cas merci beaucoup de m'avoir eclairé ;)
        • Partager sur Facebook
        • Partager sur Twitter
          31 août 2007 à 15:33:37

          Tu peut aussi faire des pointeurs d'objets, que tu alloue dynamiquement avec new avec un constructeur différent en fonction du contructeur appeler pour l'objet principale.
          • Partager sur Facebook
          • Partager sur Twitter
            31 août 2007 à 15:34:42

            Si bien sûr. C'est toi qui choisi le constructeur que tu veux.

            Ou utiliser la méthode de Atoboldom, plus compliquée mais utile dans certains cas.
            • Partager sur Facebook
            • Partager sur Twitter
            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
              31 août 2007 à 15:56:28

              Nanoc ==> ?? :s je ne comprends pas ... Si quand je creer mon objet-attribut, je ne peux pas mettre de parametres, l'objet va se creer avec le constructeur par defaut on a dit, alors comment faire ?
              Dsl j'ai du mal la jvois pas comment faire ...
              Atoboldom ==> ouais merci :) j'avais aussi envisagé cette solution mais j'ai pas encore totalement... maitrisé ce passage du cour^^
              • Partager sur Facebook
              • Partager sur Twitter
                31 août 2007 à 15:58:34

                Nanoc ==> ?? :s je ne comprends pas ... Si quand je creer mon objet-attribut, je ne peux pas mettre de parametres, l'objet va se creer avec le constructeur par defaut on a dit, alors comment faire ?

                Exact si tu ne spécifies pas quel constructeur choisir !!

                Si tu veux indiquer quel contructeur utiliser, mets le explicitement.
                1. class Objet{
                2. Objet();  //Constructeur par défaut
                3. Objet(int a); //autre constructeur
                4. };
                5. class maClass1{
                6. private:
                7. Objet monObjet;  //L'attribut-objet a initiliser
                8. public:
                9. maClass1()  //Constructeur qui initialise l'objet via le constructeur par défaut
                10. {}
                11. maClass1()  //Constructeur qui initialise l'objet via un autre constructeur
                12. :monObjet(2)
                13. {}
                14. maClass1()  //Constructeur qui initialise l'objet par la methode de atoboldom
                15. {
                16. monObjet = *(new Objet(2));
                17. }
                18. };

                Remarque: J'ai 3 constructeurs identiques mais c'est juste pour l'exemple

                A choisir entre les méthodes 2 et 3, je préfère la 2.
                • Partager sur Facebook
                • Partager sur Twitter
                Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                  31 août 2007 à 16:06:48

                  -_- que suis je bete ^^
                  COMPRIS :D merci B E A U C O U P :)
                  j'savais pas trop si on pouvait mettre des objets dans la liste d'initialisation...
                  Encore merci !
                  (enfin j'ai trouvé une solution grace a toi apres jsais pas si c'est ca que tu voulais me dire :p)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 août 2007 à 16:09:08

                    Citation : Roi des renards


                    j'savais pas trop si on pouvait mettre des objets dans la liste d'initialisation...



                    T'avais qu'à essayer, au pire le ompilateur t'aurait engueuler...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                      31 août 2007 à 16:11:50

                      lol j'ai dit ca mais c'est parceque j'avais pas pensé du tout a cette facon de faire , jme suis mal exprimé c'est tout ^^
                      • Partager sur Facebook
                      • Partager sur Twitter

                      [Question]C++ Cour Mateo

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown