#ifndef LIST_H #define LIST_H #include <iostream> class list { public: list(); virtual ~list(); // !! list *remove(); void append(list *lp); void insert(list *lp); list *get_next() const { return next; } list *get_prev() const { return prev; } virtual void print( std::ostream& os) const; // !! static int get_nid() { return nid; } private: const int id; list *next; list *prev; static int nid; list( const list &rhs); list operator=( const list *rhs); }; std::ostream& operator<<( std::ostream&, const list&); #endif /* LIST_H */