Question: Questions: - implement the ListArray ADT [the declaration is given in ListArray.h] - implement the following operations: - constructor, copy constructor, assignment operator, destructor; (30

Questions: - implement the ListArray ADT [the declaration is given in ListArray.h] - implement the following operations: - constructor, copy constructor, assignment operator, destructor; (30 pts) - gotoBeginning, gotoEnd, gotoNext, gotoPrior, getCursor; (20 pts)

GIVEN CODE:

ListArray.h:

//-------------------------------------------------------------------- // // Laboratory 3 ListArray.h // **Instructor's Solution** // Class declaration for the array implementation of the List ADT // //--------------------------------------------------------------------

#ifndef LISTARRAY_H #define LISTARRAY_H

#include #include

using namespace std;

template < typename DataType > class List { public:

static const int MAX_LIST_SIZE = 10; // Default maximum list size

// Constructors List(int maxNumber = MAX_LIST_SIZE); // Default constructor List(const List& source); // Copy constructor

// Overloaded assignment operator List& operator= (const List& source);

// Destructor virtual ~List();

// List manipulation operations virtual void insert(const DataType& newDataItem) // Insert after cursor throw (logic_error); void remove() throw (logic_error); // Remove data item virtual void replace(const DataType& newDataItem) // Replace data item throw (logic_error); void clear(); // Clear list

// List status operations bool isEmpty() const; // List is empty bool isFull() const; // List is full

// List iteration operations void gotoBeginning() // Go to beginning throw (logic_error); void gotoEnd() // Go to end throw (logic_error); bool gotoNext() // Go to next data item throw (logic_error); bool gotoPrior() // Go to prior data item throw (logic_error); DataType getCursor() const throw (logic_error); // Return data item

// Output the list structure -- used in testing/debugging virtual void showStructure() const;

// In-lab operations void moveToNth(int n) // Move data item to pos. n throw (logic_error); bool find(const DataType& searchDataItem) // Find data item throw (logic_error);

protected:

// Data members int maxSize, size, // Actual number of data item in the list cursor; // Cursor array index DataType *dataItems; // Array containing the list data item };

#endif

ListArray.cpp:

#include "ListArray.h"

template < typename DataType > List::List ( int maxNumber ) { }

template < typename DataType > List::List ( const List& source ) { } template < typename DataType > List& List::operator= ( const List& source ) { return *this; }

template < typename DataType > List::~List () { }

template < typename DataType > void List::insert ( const DataType& newDataItem ) throw ( logic_error ) { }

template < typename DataType > void List::remove () throw ( logic_error ) { }

template < typename DataType > void List::replace ( const DataType& newDataItem ) throw ( logic_error ) { }

template < typename DataType > void List::clear () { }

template < typename DataType > bool List::isEmpty () const { return false; }

template < typename DataType > bool List::isFull () const { return false; }

template < typename DataType > void List::gotoBeginning () throw ( logic_error ) { }

template < typename DataType > void List::gotoEnd () throw ( logic_error ) { }

template < typename DataType > bool List::gotoNext () throw ( logic_error ) { return false; }

template < typename DataType > bool List::gotoPrior () throw ( logic_error ) { return false; }

template < typename DataType > DataType List::getCursor () const throw ( logic_error ) { DataType t; return t; }

#include "show3.cpp"

template < typename DataType > void List::moveToNth ( int n ) throw ( logic_error ) { }

template < typename DataType > bool List::find ( const DataType& searchDataItem ) throw ( logic_error ) { return false; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!