Question: Convert the class that you wrote, to template. Test the template with dynamic arrays of integers and dynamic array of strings. *************** ---------------------------------------------------------------------- this is
Convert the class that you wrote, to template.
Test the template with dynamic arrays of integers and dynamic array of strings.
***************
----------------------------------------------------------------------
this is my code that needs to be covert to template.
-----------------------------------------------------------------------------
#include
#include
using namespace std;
class DynamicStringArray{
private:
string *dynamicArray;
int size;
public:
// cstrt
DynamicStringArray()
{
dynamicArray = NULL;
size = 0;
}
DynamicStringArray(const DynamicStringArray &d)
{
size = d.size;
dynamicArray = new string[size];
for(int i = 0; i { dynamicArray[i] = d.dynamicArray[i]; } } DynamicStringArray& operator =(const DynamicStringArray& rightSide) { if (dynamicArray != NULL) { delete[] dynamicArray; } if (rightSide.size == 0) { size = 0; dynamicArray = NULL; } else { size = rightSide.size; dynamicArray = new string[size]; for (int i = 0; i < size; i++) { dynamicArray[i] = rightSide.dynamicArray[i]; } } return *this; } ~DynamicStringArray() { delete [] dynamicArray; } // fc void addEntry(string input) { string *newArr = new string[size +1]; if(size == 0) { newArr[0] = input; } else { int i = 0; for(i; i { newArr[i] = dynamicArray[i]; } newArr[i] = input; } delete [] dynamicArray; dynamicArray = newArr; size++; } int getSize(){ return size; } bool deleteEntry(string input) { bool found = false; int index; for(int i=0; i { if(dynamicArray[i] == input) { found = true; index = i; break; } } if(!found) { return found; } string *newArr = new string[size -1]; int j = 0; for(int i = 0; i { if(i == index) { continue; } newArr[j] = dynamicArray[i]; j++; } delete [] dynamicArray; dynamicArray = newArr; size--; } string getEntry(int index) { if( index < 0 || index > size -1) { return NULL; } return dynamicArray[index]; } }; ----------------------------------------------------------------------- Your assignment will be tested with the following main function: ------------------------------------------------------------------------ int main() { DynamicArray // List of names names.addEntry("Frank"); names.addEntry("Wiggum"); names.addEntry("Nahasapeemapetilon"); names.addEntry("Quimby"); names.addEntry("Flanders"); // Output list cout << "List of names:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; // Add and remove some names names.addEntry("Spuckler"); cout << "After adding a name:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; names.deleteEntry("Nahasapeemapetilon"); cout << "After removing a name:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; names.deleteEntry("Skinner"); cout << "After removing a name that isn't on the list:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; names.addEntry("Muntz"); cout << "After adding another name:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; // Remove all of the names by repeatedly deleting the last one while (names.getSize() > 0) { names.deleteEntry(names.getEntry(names.getSize() - 1)); } cout << "After removing all of the names:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; names.addEntry("Olivia"); cout << "After adding a name:" << endl; for (int i = 0; i < names.getSize(); i++) cout << names.getEntry(i) << endl; cout << endl; cout << "Testing copy constructor" << endl; DynamicArray cout << "Testing assignment" << endl; DynamicArray cout << "Testing dynamic array of ints" << endl; DynamicArray cout << "Enter a character to exit." << endl; char wait; cin >> wait; return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
