// File: MovingObjects.h
class MovingObjects
{
public:
static const int CAPACITY = 100;
...
void addObject( const MovingObject& mo );
void operator += ( const MovingObjects& mos );
...
private:
MovingObject collection [CAPACITY];
int used;
};
MovingObjects operator + (
const MovingObjects& mos1,
const MovingObjects& mo2 );
// File: MovingObjects.cxx
...
void MovingObjects::addObject (const MovingObject& mo)
{
if (used == CAPACITY)
return;
collection [used] = mo;
used++;
}
void MovingObjects::operator += ( const MovingObjects& mos )
{
int i;
int howMany = mos.used;
for (i = 0; i < howMany; i++)
addObject (mos.collection [i]);
}
MovingObjects operator + (
const MovingObjects& mos1,
const MovingObjects& mos2 )
{
MovingObjects result (mos1);
result += mos2;
return result;
}
© 2002 Karl Winklmann