In this chapter, the class to implement the nodes of a linked list is defined as a struct. The following rewrites the definition of the struct nodeType so that it is declared as a class and the member variables are private. 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; }; Write the definitions of the member functions of the class nodeType. Also write a program to test your class.

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 9PE
icon
Related questions
icon
Concept explainers
Question

In this chapter, the class to implement the nodes of a linked list is defined as a struct. The following rewrites the definition of the struct nodeType so that it is declared as a class and the member variables are private.

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;
};

Write the definitions of the member functions of the class nodeType.
Also write a program to test your class.

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