Design and implement a class representing a doublylinked list. The linked list and the nodes must beimplemented as C++ templates.
The class should have the following functions:
- A constructor
- A copy constructor
- A destructor
- An operator= function to overload the assignment operator
- A function to delete a given item
- A function to insert a given item
- An isEmpty function
- A makeEmpty function
- A getLength function that returns how many items are in thelist
- A print function that prints all items in the list
- A function that searches for a given item and returnstrue/false
- A function that deletes ALL occurrences of anitem
- A function that returns the number of occurrences of anitem
Use a menu-driven
OR
OR