//: C04:StackTest.cpp
//{L} Stack
//{T} StackTest.cpp
// Test of nested linked list
#include "Stack.h"/* Notiamo che viene inclusa la libreria definita da noi ove abbiamo le due struct e i prototipi di funzione che, a loro volta, sono definite in Stack.cpp */
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
ifstream in("StackTest.cpp");
Stack textlines;
textlines.initialize();
string line;
/* Read file and store lines in the Stack: */
while(getline(in, line))
/* Legge riga per righa (finchè non trova il carattere di capo riga) il file in input */
textlines.push(new string(line));
/* Viene passato alla funzione di push il puntatore ad una stringa creata ed inizializzata a line */
/* Pop the lines from the Stack and print them: */
string* s;
while((s = (string*)textlines.pop()) != 0)
/* Cicla finchè il puntatore assagnato ad s, ricavato dalla pop, non punta a null */
{
cout << *s << endl;
delete s;}
textlines.cleanup();
/* Libera lo spazio allocato per i dati */
} ///:~