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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.