]>
Commit | Line | Data |
---|---|---|
1 | #ifndef LISTNODE_H | |
2 | #define LISTNODE_H | |
3 | ||
4 | #include "aClient.h" | |
5 | ||
6 | template<class T> class List; | |
7 | ||
8 | ||
9 | template <class T> | |
10 | class ListNode { | |
11 | friend class List<T>; | |
12 | public: | |
13 | ListNode(const T &); | |
14 | T *getData(); | |
15 | void setData(const T &); | |
16 | void setPtr( T * ); | |
17 | ListNode<T> *Next() { return next; }; | |
18 | ListNode<T> *Prev() { return prev; }; | |
19 | private: | |
20 | T *data; | |
21 | ListNode<T> *next; | |
22 | ListNode<T> *prev; | |
23 | }; | |
24 | ||
25 | template <class T> | |
26 | ListNode<T>::ListNode(const T &info) | |
27 | { | |
28 | next = NULL; | |
29 | prev = NULL; | |
30 | data = new T(info); | |
31 | } | |
32 | ||
33 | template <class T> | |
34 | T *ListNode<T>::getData() { return data; } | |
35 | ||
36 | template <class T> | |
37 | void ListNode<T>::setData( const T &info ) | |
38 | { data ( info ); } | |
39 | ||
40 | template <class T> | |
41 | void ListNode<T>::setPtr( T *newPtr ) | |
42 | { | |
43 | T *temp; | |
44 | temp = data; | |
45 | data = newPtr; | |
46 | delete temp; | |
47 | } | |
48 | #endif |