// `#ifndef Pila_hh' controlla se Pila_hh e' stato definito // precedentemente. Se non e' stato definito precedentemente la direttiva // condizionale risulta vera e tutte le righe comprese tra #ifndef ed // #endif sono incluse ed elaborate; al contrario, se la direttiva risulta // falsa le righe comprese tra #ifndef ed #endif vengono ignorate. #ifndef Pila_hh #define Pila_hh const int DIM_MAX = 10; class Pila { public: // Costruttore di default. Pila(); // Distruttore. ~Pila(); // Inserisce l'elemento `x' nella pila. void push(char x); // Estrae un elemento dalla pila. char pop(); // Ritorna `true' se la pila e' vuota; // `false' altrimenti bool empty() const; // Ritorna la capacita' della pila. unsigned int capacita() const; // Ritorna il numero di elementi contenuti nella pila. unsigned int num_elementi() const; private: // Puntatore ad un array di char che rappresenta la pila stessa. char* A; // Indica quanti elementi ci sono nella pila. int top; // Capacita' della pila. int dim; // Raddoppia la dimensione della pila. void raddoppia(); }; #endif