Classe pour tableau d'entiers à taille variable
Bonjour,
Je veux créer une classe TableauInt qui a pour attributs un tableau d'entiers et sa taille, ainsi que les méthodes suivantes :
- constructeur sans paramètres
- constructeur avec la taille
- destructeur
- getteur/setteur sur un élement du tableau grâce a l'indice
- getteur sur la taille
- saisie
- affichage
J'ai donc fait ceci (.h en premier, .cpp en suivant):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class TableauInt{
private:
int* tableau;
int taille;
public :
TableauInt();
TableauInt(int);
~TableauInt();
int getElement(int);
void setElement(int, int);
int getTaille();
void saisie();
void afficher();
}; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include "TableauInt.h"
#include <iostream>
using namespace std;
TableauInt::TableauInt(): taille(0), tableau(NULL) { }
TableauInt::TableauInt(int t): taille(t), tableau(new int[taille]) { }
TableauInt::~TableauInt() {
delete [] tableau;
}
int TableauInt::getElement(int i) {
return tableau[i];
}
void TableauInt::setElement(int i, int elt) {
tableau[i] = elt;
}
int TableauInt::getTaille() {
return taille;
}
void TableauInt::saisie() {
for (int i=0 ; i < taille ; i++) {
cout << "Saisir l'entier d'indice " << i << " : ";
cin >> tableau[i];
}
}
void TableauInt::afficher() {
for (int i=0 ; i < taille ; i++) {
cout << tableau[i] << " ";
}
} |
Mais ensuite, je voudrais ajouter un setteur sur la taille : si la nouvelle taille est supérieure a l'ancienne alors on complète le tableau avec des 0, et si elle est inférieure alors on enlève les valeurs dont les indices sont les plus élevés.
Ma question est: comment faire varier la taille de mon tableau ?
Merci.