Arrays of Objects

An array of objects is not really so much different from an array of values. However, one issue to consider is that there is no way to call the constructor of each object individually. Therefore, the class must have a default constructor or no constructor at all. Remember that if a class has one or more constructors, one of them must be called every time an object of the class is created.

// The default constructor is called for each car object.
Car carArray[3];
carArray[2].IncreaseSpeed(100);
// The default constructor is called for each car object.
Car *pDynamicArray = new Car[5];
pDynamicArray[4].IncreaseSpeed(100);
delete [] pDynamicArray;

Just as for values, we can also initialize an object array with a list. In that case,we can call constructors other than the default constructor. Note that when we introduce a new object in an array initialization list and call the default constructor, we have to add parentheses unlike when creating freestanding objects by calling the default constructor.

Car carArray[] = {Car(), Car(100, 90)};
carArray[0].TurnLeft(90);