1 #ifndef NODE_H_ 2 #define NODE_H_ 3 4 #include <iostream> 5 6 template <typename Type> 7 class Node { 8 private: 9 Type data; 10 Node<Type> *next; 11 12 public: 13 /* 14 * pos: el nodo resulta inicializado con el dato dado y sin nodo siguiente 15 */ 16 Node(Type newData); 17 18 /* 19 * pos: se libera la memoria utilizada 20 */ 21 virtual ~Node(); 22 23 /* 24 * pos: devuelve el dato almacenado en el nodo 25 */ 26 Type getData(); 27 28 /* 29 * pos: cambia el dato almacendo en el nodo por `data` 30 */ 31 void setData(Type newData); 32 33 /* 34 * pos: devuelve una referencia al nodo siguiente 35 */ 36 Node<Type>* getNext(); 37 38 /* 39 * pos: cambia el nodo siguiente por `next` 40 */ 41 void setNext(Node<Type> *newNext); 42 }; 43 44 template <typename Type> 45 Node<Type>::Node(Type newData) { 46 this->data = newData; 47 this->next = NULL; 48 } 49 50 template <typename Type> 51 Node<Type>::~Node() {} 52 53 template <typename Type> 54 Type Node<Type>::getData() { 55 return this->data; 56 } 57 58 template <typename Type> 59 void Node<Type>::setData(Type newData) { 60 this->data = newData; 61 } 62 63 template <typename Type> 64 Node<Type> *Node<Type>::getNext() { 65 return this->next; 66 } 67 68 template <typename Type> 69 void Node<Type>::setNext(Node<Type> *newNext) { 70 this->next = newNext; 71 } 72 73 #endif
