Programming Exercise 8 asks you to redefine the class to implement the nodes of a linked list so that the instance variables are private. Therefore, the class linkedListType and its derived classes unorderedLinkedList and orderedLinkedList can no longer directly access the instance variables of the class nodeType. Rewrite the definitions of these classes so that these classes use the member functions of the class nodeType to access the info and link fields of a node. Also write programs to test various operations of the classes unorderedLinkedList and orderedLinkedList.   template class nodeType { public: const nodeType& operator=(const nodeType&); //Overload the assignment operator. void setInfo(const Type& elem); //Function to set the info of the node. //Postcondition: info = elem; Type getInfo() const; //Function to return the info of the node. //Postcondition: The value of info is returned. void setLink(nodeType *ptr); //Function to set the link of the node. //Postcondition: link = ptr; nodeType* getLink() const; //Function to return the link of the node. //Postcondition: The value of link is returned. nodeType(); //Default constructor //Postcondition: link = NULL; nodeType(const Type& elem, nodeType *ptr); //Constructor with parameters //Sets info point to the object elem points to and //link is set to point to the object ptr points to. //Postcondition: info = elem; link = ptr nodeType(const nodeType &otherNode); //Copy constructor ~nodeType(); //Destructor private: Type info; nodeType *link; };

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 10PE
icon
Related questions
icon
Concept explainers
Question

Programming Exercise 8 asks you to redefine the class to implement the nodes of a linked list so that the instance variables are private. Therefore, the class linkedListType and its derived classes unorderedLinkedList and orderedLinkedList can no longer directly access the instance variables of the class nodeType. Rewrite the definitions of these classes so that these classes use the member functions of the class nodeType to access the info and link fields of a node. Also write programs to test various operations of the classes unorderedLinkedList and orderedLinkedList.

 

template <class Type>
class nodeType
{
public:
const nodeType<Type>& operator=(const nodeType<Type>&);
//Overload the assignment operator.

void setInfo(const Type& elem);
//Function to set the info of the node.
//Postcondition: info = elem;

Type getInfo() const;
//Function to return the info of the node.
//Postcondition: The value of info is returned.

void setLink(nodeType<Type> *ptr);
//Function to set the link of the node.
//Postcondition: link = ptr;

nodeType<Type>* getLink() const;
//Function to return the link of the node.
//Postcondition: The value of link is returned.

nodeType();
//Default constructor
//Postcondition: link = NULL;

nodeType(const Type& elem, nodeType<Type> *ptr);
//Constructor with parameters
//Sets info point to the object elem points to and
//link is set to point to the object ptr points to.
//Postcondition: info = elem; link = ptr

nodeType(const nodeType<Type> &otherNode);
//Copy constructor

~nodeType();
//Destructor

private:
Type info;
nodeType<Type> *link;
};

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Types of Linked List
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning