void Container::printOn( ostream& outputStream ) const { ContainerIterator& printIterator = initIterator(); printHeader( outputStream ); while( printIterator != 0 ) { printIterator++.printOn( outputStream ); if ( printIterator != 0 ) printSeparator( outputStream ); else break; } printTrailer( outputStream ); delete &printIterator; }
void AbstractArray::printContentsOn( ostream& outputStream ) const { ContainerIterator& printIterator = initIterator(); printHeader( outputStream ); while( printIterator != 0 ) { Object& arrayObject = printIterator++; if( arrayObject != NOOBJECT ) { arrayObject.printOn( outputStream ); if( printIterator != 0 ) printSeparator( outputStream ); else break; } } printTrailer( outputStream ); delete &printIterator; }