Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vector dans une classe

    29 juillet 2020 à 8:27:07

    Bonjour 

    Je suis actuellement en train d'essayer de coder un mini RPG pour m'entrainer et j'ai besoin de créer une classe utilisant les "vectors", et meme plus puisque ma classe en soi est un tableau dynamique.

    dois je déclarer le Vector en tant que méthode ou attribut de la classe?

    • Partager sur Facebook
    • Partager sur Twitter
      29 juillet 2020 à 8:56:55

      Salut! 

      J'ai du mal à te suivre quand tu dis que tu veux que ta classe soit un tableau dynamique. "vector" est en soit un tableau dynamique. Si on reprend un cours de c++ sur les class :

      des attributs : c'est le nom que l'on donne aux variables contenues dans des classes

      des méthodes : c'est le nom que l'on donne aux fonctions contenues dans des classes.

      class map
      {
      private:
         std::vector<int> grille; // un attribut
      
      public:
         std::vector<int> getGrille() {return grille;} // une méthode
      };

      Si ça peut t'aider !

      • Partager sur Facebook
      • Partager sur Twitter
      MsgBox "Ensemble"  &  chr(10)  &  chr(10) & "développons"
        29 juillet 2020 à 9:17:25

        Attention à la réponse de Overeath, la fonction getGrille renvoie une copie du tableau ce qui le rend inutilisable pour modification.
        • Partager sur Facebook
        • Partager sur Twitter

        git is great because Linus did it, mercurial is better because he didn't.

          29 juillet 2020 à 11:18:31

          SI tu veux une classe qui se comporte comme std::vector, fait un héritage privé, ca t'évitera d'écrire plein de fonctions se contentant de transferer les donnée de ou vers le std::vector interne.

          Quand à savoir si c'est réellement approprié, il faudrait que tu nous en dise plus sur ce que tu as en tête.

          • Partager sur Facebook
          • Partager sur Twitter
            30 juillet 2020 à 10:53:51

            en fait j'aimerais que cette classe soit mon inventaire, du coup qu'elle puisse stocker mes objets(qui sont une classe ou plusieurs à part), et sur ça je me demande si il est préférable de créer un "vector" en tant qu'attribut ou bien en tant que méthode.

            bien sur il y aura d'autre méthodes tel que supprimer des objets, augmenter la capacité de stockage de l'inventaire ...

            en tout cas merci beaucoup pour vos reponses

            • Partager sur Facebook
            • Partager sur Twitter
              30 juillet 2020 à 14:12:22

              Tout simplement:

              Fait une aggrégation de données, tout simplement, soit un std::vector en variable membre (en C++, on ne parle pas d'attribut ni de méthode, c'est de l'abus de langage).

              • Partager sur Facebook
              • Partager sur Twitter

              Vector dans une classe

              × 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