#include "element_donnee_pile.h"
class pile
{
/* Spécification fonctionnelle de la classe " pile ".
Éléments : Le type de chaque élément de la pile peut être quelconque.
Nous noterons par "element_donnee_pile" le type de chaque
élément.
Structure : Les éléments sont reliés entre eux permettant de déterminer
l'ordre d'arrivée des éléments dans la pile. */
protected:
struct sommet_pile
{
element_donnee_pile element;
struct sommet_pile *suivant;
};
struct sommet_pile * pPile;
public:
void Creer_pile();
/* Permet de créer une pile vide.
Pré - Nil.
Post - La pile existe et est vide.
*/
void Inserer(element_donnee_pile e);
/* Insérer un élément e dans la pile.
Pré - La pile a déjà été créée et n'est pas pleine.
Post - La pile renferme e et l'interprète comme étant
l'élément le plus récent inséré dans la pile. */
void Enlever(element_donnee_pile *pe);
/* Enlever un élément *pe de la pile.
Pré - La pile a déjà été créée et n'est pas vide.
Post - L'élément le plus récent inséré dans la pile est
copié dans *pe; cet élément ne fait plus partie
de la pile. */
bool Pile_vide();
/* Vérifier si la pile est vide ou non.
Pré - La pile a déjà été créée.
Post - Si la pile ne possède aucun élément