When you create a template class, what do you do about deconstructors?
Given the class below I added ~DLNode(){}; after the constructor, but when I ran some tests it didn't seem to ever fire when then main program ended.
Can anyone shed some light on this?
Given the class below I added ~DLNode(){}; after the constructor, but when I ran some tests it didn't seem to ever fire when then main program ended.
Can anyone shed some light on this?
Code:
template <class Type> class DLNode{ public: DLNode(Type elem, DLNode* prev, DLNode* next){ data = elem; prevNode = prev; nextNode = next; } Type getElement(); void setElement(Type a); DLNode* getNext(); void setNext(DLNode* node); DLNode* getPrevious(); void setPrevious(DLNode* node); private: Type data; DLNode *prevNode; DLNode *nextNode; }; template <class Type> Type DLNode<Type>::getElement(){return data;} template <class Type> void DLNode<Type>::setElement(Type elem){ data = elem;} template <class Type> DLNode<Type>* DLNode<Type>::getNext(){return nextNode;} template <class Type> void DLNode<Type>::setNext(DLNode* node){nextNode = node;} template <class Type> DLNode<Type>* DLNode<Type>::getPrevious(){return prevNode;} template <class Type> void DLNode<Type>::setPrevious(DLNode* node){prevNode = node;}
Comment