Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C++] classe, méthodes et programmation modulaire

Sujet résolu
    22 janvier 2007 à 19:23:11

    Bonjour, voila la question que je me pose.
    J'ai une classe dans un fichier toto.h qui ressemble à ça :

    class Toto
    {
    int Age;

    public:
    void ModifAge(int cb);
    };


    Ma fonction ModifAge, je l'écris dans un fichier cpp ? ou a la suite du fichier header ?

    merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2007 à 19:29:02

      Citation : Pas de titre

      Ma fonction ModifAge, je l'écris dans un fichier cpp ? ou a la suite du fichier header ?


      On ne mets jamais de code autre que des déclarations dans un headers. tu mets constructeurs/destructeurs et fonctions des classes dans les .cpp ;)
      • Partager sur Facebook
      • Partager sur Twitter
        22 janvier 2007 à 19:30:09

        inline ;)

        class Toto
        {
            int Age;

        public:
            inline void ModifAge(int cb)
            {
                Age = cb;
            }
        };


        Citation : rainbow

        On ne mets jamais de code autre que des déclarations dans un headers.


        Hélas, en C++ ce n'est plus tout à fait vrai...
        • Partager sur Facebook
        • Partager sur Twitter
          22 janvier 2007 à 19:32:32

          On peut faire des fonctions inline : ça ressemble aux defines mais c'est plus sécurisé. Utilises-le pour des fonctions courtes.
          Comme ça :

          class Toto
          {
          int Age;

          public:
          void ModifAge(int cb){Age=cb;}
          };

          ou en mettant inline devant la fonction.
          Edit : Re-brulaid
          • Partager sur Facebook
          • Partager sur Twitter
            22 janvier 2007 à 19:35:59

            Salut,

            Tu peux mettre le code de certaines fonctions dans le header elles seront alors inlinées, donc si ta fonction modifAge fait pas grand chose rien ne t'empeche de le faire.
            • Partager sur Facebook
            • Partager sur Twitter
              22 janvier 2007 à 19:38:31

              par rapport a cela je voulais savoir quels etaient les inconveniants d utilser ou pas des fonctions inline au niveau de la rapidé d execution d un code?
              sinon c est juste pr une question de lisibilité ?
              • Partager sur Facebook
              • Partager sur Twitter
                22 janvier 2007 à 19:42:07

                Ca remplace le code que tu mets dans chaque occurence en faisant attention. Comme les macro.
                C'est aussi pour la lisibilité (comme l'interdiction d'utiliser le langage SMS ;) ) : tu vois un fichier ayant une vingtaine de mutateurs/accesseurs?
                • Partager sur Facebook
                • Partager sur Twitter
                  22 janvier 2007 à 19:56:07

                  oki par contre au niveau de la vitesse d execution ca ne change rien ... d accord
                  PS: le langage sms ,tres peu pr moi , j utilise juste des abreviations classiques plutot issues de la prise de note en fac ;) lol
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 janvier 2007 à 20:01:24

                    bien :) emrci à tous :) je résolve donc :D
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 janvier 2007 à 20:01:25

                      Non, c'est plus rapide.
                      Il n'y a pas d'appel de fonction ni de retour ce qui n'est pas négligeable pour une fonction qui change juste un nombre.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 janvier 2007 à 20:03:42

                        Un dernier truc ... pour accéder aux variables de ma classe dans mes méthodes ... rien de spéciale a faire ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 janvier 2007 à 20:07:57

                          ok meci bcq :) ... ca peut etre important de savoir cela ...
                          d ailleurs j ai qq methodes comme cela ou ca attribue juste une nouvelles valeur , je vais donc les passer inline ...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 janvier 2007 à 20:08:26

                            non y a rien de spécial a faire pour acceder aux variable presente dans ta classe.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 janvier 2007 à 2:27:27

                              (* L'accès aux données membres depuis une fonction membre d'une classe template nécessite le préfixage par this-> (de moins en moins de compilos acceptent de s'en passer, conformément à ce qu'exige le standard))

                              * Les fonctions inlines

                              * Attention aux abus d'accesseurs/mutateurs. Il ne faut pas se sentir obligé de définir un couple accesseur/mutateur pour chaque donnée membre -- qu'ils soient définis inline ou pas.
                              • Partager sur Facebook
                              • Partager sur Twitter
                              C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                                23 janvier 2007 à 18:03:22

                                bon j'ai un question:
                                je vt connaitre comment faire la gestion de fichier?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  23 janvier 2007 à 18:24:07

                                  bmamaster ?
                                  tu peux parler français ?
                                  question==féminin==unE ...
                                  on ne dit pas je veux connaitre comment mais :
                                  J'aimerai savoir comment ...
                                  et la gestion de fichier ? sa veut rien dire !
                                  apprend le français avant un langage de programmation
                                  (célIbataire pas célébataire)
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  [C++] classe, méthodes et programmation modulaire

                                  × 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