• Aucun résultat trouvé

class PileEntier { private : int

N/A
N/A
Protected

Academic year: 2022

Partager "class PileEntier { private : int"

Copied!
1
0
0

Texte intégral

(1)

Exemple PileEntier.cpp, PileCars.cpp (pas encore de patron de classe)

const int BORNE = 200 ;

class PileEntier

{ private :

int

* sommet;

int MAX_ELEM;

int indiceSommet;

public : PileEntier();

PileEntier(int maxi);

PileEntier(const PileEntier &);

~PileEntier();

int getNbElem() const;

void empiler(

int

valeur);

int

depiler();

int

valSommet();

bool estVide ();

void afficher(char *);

};

PileEntier::PileEntier() { MAX_ELEM=BORNE;

sommet = new

int

[BORNE];

// allocation dynamique de mémoire indiceSommet =0;

}

PileEntier::PileEntier(int maxi):

MAX_ELEM(maxi) {

sommet = new

int

[maxi];

indiceSommet =0;

}

etc …

const int BORNE = 200 ;

class PileCar

{ private :

char

* sommet;

int MAX_ELEM;

int indiceSommet;

public : PileCar();

PileCar (int maxi);

PileCar (const PileCar &);

~ PileCar ();

int getNbElem() const;

void empiler(

char

valeur);

char

depiler();

char

valSommet();

bool estVide ();

void afficher(char *);

};

PileCar:: PileCar () { MAX_ELEM=BORNE;

sommet = new

char

[BORNE];

// allocation dynamique de mémoire indiceSommet =0;

}

PileCar:: PileCar (int maxi):

MAX_ELEM(maxi) {

sommet = new

char

[maxi];

indiceSommet =0;

}

etc …

Illustration de patron de classes 1

(2)

template <class T>

class Pile { private:

T

* sommet;

int MAX_ELEM;

int indiceSommet;

public : Pile();

// construire une pile contenant "maxi" entiers Pile(int maxi);

// constructeur de recopie Pile(const Pile &);

// destructeur ~Pile();

int getNbElem() const;

void empiler(

T

valeur); // Empiler

T

depiler(); // Dépiler

T

valSommet(); // Consulter la valeur au sommet bool estVide ();

void afficher(char *);

};

// initialiser une pile vide ave 200 éléments au max template <class T>

Pile<T>::Pile() { MAX_ELEM=BORNE;

sommet = new

T

[BORNE];

indiceSommet =0;

}

template <class T>

Pile<T>::Pile(int maxi): MAX_ELEM(maxi) {

sommet = new T[maxi];

indiceSommet =0;

}

etc …

Illustration de patron de classes 2

(3)

Sans patron :

PileEntier p1(12);

p1.empiler(23);

p1.empiler(50);

p1.empiler(30);

p1.empiler(60);

PileEntier p2(p1);

Avec patron :

Pile< int > p1(12);

p1.empiler(23);

p1.empiler(50);

p1.empiler(30);

p1.empiler(60);

Pile<int> p2(p1);

etc . . .

Sans patron :

string chaine1 = "LAVAL", chaine2 = "MONTREAL";

PileCar pile1 = creer(chaine1), pile2 = creer(chaine2);

pile1.afficher("numero 1");

pile2.afficher("numero 2");

Avec patron :

string chaine1 = "LAVAL", chaine2 = "MONTREAL";

Pile< char > pile1 = creer(chaine1), pile2 = creer(chaine2);

pile1.afficher("numero 1");

pile2.afficher("numero 2");

etc . . .

Illustration de patron de classes 3

Références

Documents relatifs

Pour avoir ´egalit´e dans une in´egalit´e, il suffit d’avoir ´egalit´e dans chaque in´egalit´e (c’est ce qu’on appelle ”enfoncer une porte ouverte” mais c’est souvent

Solution 3.1.12 On remarque tout d’abord que E n’est pas vide (E contient les fonctions constantes).. Supposons pour la suite que f n’est pas identi-

Donc Int(A)

Mais ç, doit s'annuler en même temps que R(.r); car, sans cela, ^ serait infini pour des valeurs finies de x.. Mais cela importe peu. Or cette identité est impossible, le degré du

Le secand membre de cette équation, auquel on peut ajouter une constante arbitraire, tant que l'intégrale reste indéfinie, est une expression finie dans le cas de m entier et

Il est ´ egalement pr´ ecurseur de la phon´ etique, de l’´ education des sourds et de l’orthophonie.. Ses travaux concernent principalement le calcul diff´ erentiel et

On fait cela tant qu’il y a plusieurs ´el´ements dans le tableau.. Si le tableau est de taille impaire, son ´el´ement central

Pour cette partie, vous pouvez utiliser la classe Personne de la page 1 ainsi que toutes les méthodes que vous avez écrites à la partie 1.. Vous disposez d’une classe TestPersonne