(1) Computer science C++


Lists. Trace the following c++ program showing all output in the order that it appears on the output device (presumably the screen). If anything happens that makes it impossible to accomplish an operation or the results of doing so are unpredictable, describe what happens and abort at that point.

For this program assume that the following functions (methods) are fully defined and implemnted in the appropriate header and implementation files for the List class.

– construct that creates an empty list

– empty that returns true if the list is empty, false otherwise

– insert (a,b) that inserts an integer a into the list at position b

– erase(a) that removes the integer at position a in the list

– overloading the output operator << to enable it to display all elements of a list in sequence so cout<

– overloading the assignment operator so assigning one list to another creates a deep copy of the list.


using namespace std;
#include “List.h”
int main(void)
{ List sheldon_cooper;
List leonard_hofstadter;
int i, j;
cout<<"Program begins, sheldon and leonard constructed"< if (sheldon_cooper.empty())
cout<<"His friend is Raj Koothrappali"< else
cout<<"His friend is Penny"< for (i=4;i<=8;i++)
{cout<<"Inserting "< sheldon_cooper.insert(i*2-3,i-4);
cout<<" List is now ";
cout< }
cout<<"removing position "< sheldon_cooper.erase(j);
cout< j=2;
cout<<"leonard is now ";
cout< cout<<"program ends, buzz off ";
return 0;