#include <iostream.h>
#include "Stack3.H"
#include "CompClass3.H"
main()
{ Stack<int> p1;
Stack<float> p2;
Stack<complex> p3;
p1.Push(12);
p1.Push(16);
complex z1(12.13, -7.5);
complex z2(1.414, -1.414);
p3.Push(z1);
p3.Push(z2);
p3.Push(1.028);
cout << "La testa della Pila p1 e` " << p1.Read() << endl;
cout << "Rimuovo la testa di p1 " << p1.Pop() << endl;
cout << "La testa della Pila p1 e` " << p1.Read() << endl;
if (p2.IsEmpty())
cout << "La Pila p2 e` vuota." << endl;
else {
float testa = p2.Pop();
cout << "La testa di p2 era: " << testa << endl;
}
cout << "Svuoto la pila p3: " << endl;
while (!p3.IsEmpty())
cout << "Rimuovo: " << p3.Pop() << endl;
}
--------------------------------------------------------------------------------
--
//
// Classe per rappresentare una Pila.
// Utilizzo dei Template.
//
#ifndef STACK_HDR
#define STACK_HDR
template<class MyNType> class node {
friend class Stack<MyNType>; // Stack puo` accedere alla parte privata
node *next; // Puntatore al prossimo elemento
MyNType data; // L'elemento memorizzato nel nodo
node(const MyNType &d, node *n): // Costruttore piu` efficente
data(d) // Inizializzo il valore del nodo
{ next = n; }
};
Pile e template C++
Semplice programma diviso in due che svolge la simulazione delle pile e dei template che vengono utilizzati molto in programmazione. Il linguaggio adottato è il C++.