object of class dnodewhich store string elementsare used for all the nodes of the listincluding the header and trailer sentinels we can use class dlist for doubly linked list of string objects only to build linked list of other types of objectswe can use generic declarationwhich we discuss in methods getfirst and getlast provide direct access to the first and last nodes in the list methods getprev and getnext allow to traverse the list methods hasprev and hasnext detect the boundaries of the list methodsaddfirst and addlast add new node at the beginning or end of the list methodsadd before and add after add new node before or after an existing node