#ifndef NODE_HPP
#define NODE_HPP

template <class TYPE> class List;

template <class TYPE>
class Node
{
public:
	Node(const TYPE &copy);
	TYPE			getData() const;

private:
	friend class	List<TYPE>;
	TYPE			Data;
	Node<TYPE>		*next;
};
template <class TYPE>
Node<TYPE>::Node(const TYPE &copy) : Data(copy), next(0)
{
	/* Empty Function - Everything happens in declaration */
}
template <class TYPE>
TYPE Node<TYPE>::getData() const
{
	return Data;
}
#endif