// Classe lista: listc.h
#ifndef LISTC_H
#define LISTC_H
class list {
  list *next; // private - Prossimo elemento della lista
public :
  // Costruttore: riceve come parametro un puntatore alla base della lista
  list (list **base) { next = *base; *base = this;};
  list * index (int i, int curr);  // Ritorna l'elemento di indice 'i'
                                   // Se l'elemento corrente e' 'curr'
  virtual ~list () { if (next) delete next; }; // Distruttore
  void remove (list **base);       // Elimina questo elemento dalla lista 'base'
  void operator += (list *add);    // ** operatore ** appende la lista che inizia con 'app' in
                                   // fondo alla lista cui appartengo
  list *Next () { return next; };  // Per accedere al 'private'
};
#endif