For use with CMSC-341, Spring 99, Project 2 Here is the definition of the DlNode class. Copy it to your DlNode.H file. Remember: -- implement the inline method(s) -- guard the file -- complete the documentation ------------------------------------------------ version: 28 February 1999 ------------------------------------------------ // forward references for template classes template class LinkedList; template class LinkedListIterator; template class DlNode { friend class LinkedList; friend class LinkedListIterator; private: T _data; // datum stored at node DlNode* _prev; // ptr to previous node DlNode* _next; // ptr to next node // Constructor for node with unspecified datum, // null previous and next pointers DlNode(); // Constructor for node with specified datum, // null previous and next pointers DlNode(const T& datum); virtual ~DlNode(); protected: // Accessor for this node's datum // Returns: reference to datum stored at this node inline T& GetData(); // Accessor for this nodes' previous node // Returns: pointer to the 'previous' node inline DlNode * GetPrev(); // Accessor for this node's next node // Returns: pointer to the 'next' node inline DlNode * GetNext(); // Mutator for this node's previous node. // Param: n the node to become this node's prev. inline virtual void SetPrev(DlNode * n); // Mutator for this node's next node. // Param: n the node to become this node's next. inline void SetNext(DlNode * n); // Mutator for this node's datum. // Param: d the datum to store at this node. inline void SetData(const T& d); };