< previous page page_1027 next page >

Page 1027
// Precondition:
//     arrSize is assigned
// Postcondition:
//     IF arrSize >= 1  &&  There is room on free store
//           New array of size arrSize is created on free store
//        && arr == base address of new array
//        && size == arrSize
//        && arr[0..size-1] == 0
//     ELSE
//           Program has halted with error message

{
   int i;     // Array index

   if (arrSize < 1)
   {
       cout << ** In DynArray constructor, invalid size: 
            << arrSize <<  ** << endl;
       exit(1);
   }
   size = arrSize;
   arr = new int [size];
   if (arr == NULL)
   {
       cout << ** In DynArray constructor, not enough memory for 
            << size <<  elements ** << endl;
       exit(1);
   }
   for (i = 0; i < size; i++)
       arr[i] = 0;
}

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

DynArray::DynArray( const DynArray& array2 )

// Copy-constructor

// Postcondition:
//     IF there is room on free store
//           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

 
< previous page page_1027 next page >