• 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 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

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)

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

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

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

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