I am trying to work on this assignment I have and I am pretty lost and do not know what to do. Any help would be greatly appreciated.

This is the assignment:
Add two methods (functions) to ex34.

General Info: Write a copy constructor. Use the copy constructor in ex35 as a guide which is :

    MyString(); //default constructor
    MyString(char*); //conversion constructor
    MyString(MyString*); //copy constructor`

Useage: Array myArray(&arrayIn);
pre: arrayIn is a pointer to an existing object of type Array
post: a new object of type Array is created. Its size and contents are identical to those of the argument
Array (Array

General Info: Write a method the returns a pointer to a sorted copy of invoking object. Use insertion sort as demonstrated in class. It will be easiest to write a stand-alone program to sort
a character array first. Then we'll worry about how to get it to work in class Array.
Useage: Array* sortedCopy = myArray.sort()
pre: ADT exists.
post: returns a pointer to an object of type Array containing the same elements as the invoking object but in order from smallest to largest

Name your work as asgn5.h and asgn5.cpp

Here is the ex34 that is being referenced above:

//class example

#include "ex34.h"
#include <iostream>
   using namespace std;

Array::Array(int sizeIn) 
  //cout << "Array constructor" << endl;
  size = sizeIn; 
  array = new char[size];


  //cout << "Array destructor" << endl;
  delete array;

char Array::findLargest()
 char largest = get(0); 
 for (int i = 1; i < size; i++)
     char item = get(i);
     if (item != '*')
       if (item > largest)
         largest = item;
 return  largest;


void Array::insert(int pos, char elt)
 array[pos] = elt;

void Array::remove(int pos)
 array[pos] = '*';

int Array::get(int pos)
 return array[pos];

void Array::display()
 for (int i = 0; i < size; i++)
 cout << endl;

and the header file:

//A more complex example
#ifndef ARRAY_H
#define ARRAY_H

class Array 
    pre:  size is a positive integer
    post: Array of requested size is created with '*' in each slot
    Array(int size);


    pre:  ADT exits; 0 <= pos < size; elt is an ascii character; elt != '*'
    post: elt is inserted at position pos
    void insert(int pos, char elt);

    pre: ADT exists; 0 <= pos < size 
    post: inserts '*' into slot pos
    void remove(int pos);

    pre:  ADT exists; 0 <= pos < size
    post: returns item in position pos
    int get(int pos); 

    pre: ADT exists 
    post: displays all elements in the array
    void display();

    pre: ADT exists 
    post: returns value of largest item. uses function, get
    char findLargest();

     int size; 
     char* array; 

Thanks guys.

5 Years
Discussion Span
Last Post by Schol-R-LEA
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.