Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

IntList Lab Specifications You are required to come up with a single header file (IntList.h) that declares and implements the IntNode class (just copy it

IntList Lab Specifications You are required to come up with a single header file (IntList.h) that declares and implements the IntNode class (just copy it exactly as it is below) as well as declares the IntList Class interface only. You are also required to come up with a separate implementation file (IntList.cpp) that implements the member functions of the IntList class. While developing your IntList class you must write your own test harness (within a file named main.cpp). Never implement more than 1 or 2 member functions without fulling testing them with your own test harness.

IntNode struct I am providing the IntNode class you are required to use. Place this class definition within the IntList.h file exactly as is. Make sure you place it above the definition of your IntList class. Notice that you will not code an implementation file for the IntNode class. The IntNode constructor has been defined inline (within the class declaration). Do not write any other functions for the IntNode class. Use as is

struct IntNode { int data; IntNode *next; IntNode(int data) : data(data), next(0) {} }; 

IntList class Encapsulated (Private) Data Fields head: IntNode *

tail: IntNode *

Public Interface (Public Member Functions)

IntList(): Initializes an empty list.

~IntList(): Deallocates all remaining dynamically allocated memory (all remaining IntNodes).

void display() const: Displays to a single line all of the int values stored in the list, each separated by a space. This function does NOT output a newline or space at the end.

void push_front(int value): Inserts a data value (within a new node) at the front end of the list.

void pop_front(): Removes the value (actually removes the node that contains the value) at the front end of the list. Does nothing if the list is already empty.

bool empty() const: Returns true if the list does not store any data values (does not have any nodes), otherwise returns false

main.cpp test harness for lab

Use this main.cpp file for testing your IntList

#include  using namespace std; #include "IntList.h" int main() { //tests constructor, destructor, push_front, pop_front, display { cout << " list1 constructor called"; IntList list1; cout << " pushfront 10"; list1.push_front(10); cout << " pushfront 20"; list1.push_front(20); cout << " pushfront 30"; list1.push_front(30); cout << " list1: "; list1.display(); cout << " pop"; list1.pop_front(); cout << " list1: "; list1.display(); cout << " pop"; list1.pop_front(); cout << " list1: "; list1.display(); cout << " pop"; list1.pop_front(); cout << " list1: "; list1.display(); cout << endl; } cout << "list1 destructor called" << endl; return 0; } 

Submit 3 seperate files: IntList.cpp, IntList.h, main.cpp

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Processing Fundamentals, Design, and Implementation

Authors: David M. Kroenke, David J. Auer

14th edition

133876705, 9781292107639, 1292107634, 978-0133876703

More Books

Students also viewed these Databases questions

Question

Documentation of the appraisal activities

Answered: 1 week ago

Question

How do books become world of wonder?

Answered: 1 week ago

Question

Why is the System Build Process an iterative process?

Answered: 1 week ago