00001 #ifndef NODE_H
00002 #define NODE_H
00003
00011 template <typename T>
00012 class Node {
00013
00014 public:
00015 Node( const T & = T() );
00016 void setObject( const T & );
00017 T &getObject();
00018 void setNextPtr( Node<T> * );
00019 Node<T> *getNextPtr() const;
00020
00021 private:
00022 T object;
00023 Node<T> *nextPtr;
00024
00025 };
00026
00034 template <typename T>
00035 Node<T>::Node( const T &object )
00036 {
00037 this->object = object;
00038 this->nextPtr = 0;
00039 }
00040
00047 template <typename T>
00048 void Node<T>::setObject( const T &object )
00049 {
00050 this->object = object;
00051 }
00052
00059 template <typename T>
00060 T &Node<T>::getObject()
00061 {
00062 return object;
00063 }
00064
00071 template <typename T>
00072 void Node<T>::setNextPtr( Node<T> *nextPtr )
00073 {
00074 this->nextPtr = nextPtr;
00075 }
00076
00083 template <typename T>
00084 Node<T> *Node<T>::getNextPtr() const
00085 {
00086 return nextPtr;
00087 }
00088
00089 #endif // NODE_H
00090