< previous page page_1029 next page >

Page 1029
      return arr[i];
}

//******************************************************************

void DynArray::Store( /* in */ int val,
                      /* in */ int i   )

// Precondition:
//     val and i are assigned
// Postcondition:
//     IF i >= 0  &&  i < size
//         arr[i] == val
//     ELSE
//         Program has halted with error message

{

     if (i < 0 || i >= size)
     {
         cout < ** In Store function, invalid index: 
              < i <  ** < endl;
         exit(1);
    }
    arr[i] = val;
}

//******************************************************************

void DynArray::CopyFrom( /* in */ DynArray array2 )

// Postcondition:
//     Array pointed to by arr@entry is no longer on free store
//  && IF free store has room for an array of size array2. size
//           New array of size array2.size is created on free store
//        && arr == base address of new array
//        && size == array2.size
//        && arr[0..size-1] == array2.arr[0..size-1]
//     ELSE
//         Program has halted with error message

{
   int i;    // Array index

   delete [] arr;
   size = array2. size;
   arr = new int[size];
   if (arr == NULL)
   {

 
< previous page page_1029 next page >