summaryrefslogtreecommitdiff
path: root/vecteur.h
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2023-01-12 23:40:59 -0500
committerBenjamin Chausse <benjamin@chausse.xyz>2023-01-12 23:40:59 -0500
commitb4f16386c70bfeab700e7cc129f2f04295aa0059 (patch)
tree8211e50bdf4f22eed2d2f2a19166e3a6f4ae5155 /vecteur.h
parent0ef3e40f726f35b86d79426104234d815cea2bb9 (diff)
vecteur est fomrmes sont finis
Diffstat (limited to 'vecteur.h')
-rw-r--r--vecteur.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/vecteur.h b/vecteur.h
new file mode 100644
index 0000000..58843f7
--- /dev/null
+++ b/vecteur.h
@@ -0,0 +1,39 @@
+#include <iostream>
+#include "forme.h"
+
+using namespace std;
+
+// - [x] Items stockés sont des pointeurs de Forme
+// - [ ] Items toujours contigus en mémoire
+// - [ ] connaître la capacité maximale du vecteur
+// - [ ] connaître la taille courante du vecteur
+// - [ ] Lorsqu'il manque d'espace pour ajouter une forme,
+// le vecteur double sa capacité
+// - [ ] vider le vecteur en un seul appel
+// - [ ] lorsque le vecteur est vidé, détruire ses formes
+// - [ ] savoir si le vecteur est vide (bool)
+// - [ ] ajouter une forme à la fin du vecteur (true si ok)
+// - [ ] supprimer une forme à un index (retourne la forme) NULL on error
+// - [ ] récupérer une forme à un index (retourne la forme) NULL on error
+// - [ ] afficher le vecteur en utilisant Forme::afficher()
+
+class Vecteur {
+ private:
+ int capacite; // capacité maximale actuelle du vecteur
+ int taille;
+ // dynamic array of pointers to Forme
+ Forme **formes;
+ public:
+ Vecteur();
+ ~Vecteur();
+ // Informations
+ bool estVide();
+ Forme *getForme(int index);
+ int getTaille();
+ void afficher(ostream &s);
+ // Manipulations
+ bool ajouterForme(Forme *f);
+ Forme *supprimerForme(int index);
+ void vider();
+};
+