#ifndef _plist_h_
#define _plist_h_

#include <stdlib.h>
#include <iostream.h>
#include "bool.h"
#include "person.h"


struct plistElem;

class plist {
   public:
      plist();
      plist(const plist& otherList);
      ~plist();
      const plist& operator=(const plist& otherList);
      void addToEnd(person * p);
      person * getFirst();
      person * getNext();
      bool atEnd() const;
      void clearList();
   private:
      plistElem * head;
      plistElem * current;
      plistElem * newElem(person * p);
      void moveToEnd();
};


#endif