1 #ifndef LIST_H
2 #define LIST_H
3
4 #include <iostream>
5
6 class list
7 {
8 public:
9 list();
10 // ökölszabály: polimorfikus osztálynak legyen
11 // virtuális destruktora!
12 virtual ~list();
13
14 list *remove();
15 void append(list *lp);
16 void insert(list *lp);
17 list *get_next() const { return next; }
18 list *get_prev() const { return prev; }
19
20 // virtuális függvény
21 virtual void print( std::ostream& os) const;
22
23 static int get_nid() { return nid; }
24 private:
25 const int id;
26 list *prev;
27 list *next;
28
29 static int nid;
30
31 list( const list &rhs);
32 list operator=( const list *rhs);
33 };
34
35 std::ostream& operator<<( std::ostream&, const list&);
36
37 #endif /* LIST_H */
38
39