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?
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 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.
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 ...
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).
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.
git is great because Linus did it, mercurial is better because he didn't.