Home Segments Index Top Previous Next

451: Mainline

Thus, you can write a program to create an entire array of pointers to objects, with the memory chunk for each object allocated at run time according to the type number observed in the sensor file:

#include   
// Define classes: 
class railroad_car { 
  public: railroad_car ( ) { } 
}; 
class box_car : public railroad_car { 
  public: box_car ( ) { } 
}; 
// Similar definitions of tank_car, engine, and caboose go here 
// Define railroad car array: 
railroad_car *train[100]; 
main ( ) { 
  // Declare various integer variables: 
  int car_count, type_code; 
  // Read type number and create corresponding objects: 
  for (car_count = 0; cin >> type_code; ++car_count) 
    if (type_code == 0)        train[car_count] = new engine; 
    else if (type_code == 1)   train[car_count] = new box_car; 
    else if (type_code == 2)   train[car_count] = new tank_car; 
    else if (type_code == 3)   train[car_count] = new caboose; 
  // Display car count: 
  cout << "There are " << car_count << " cars in the array." << endl; 
} 
--- Data ---
0 1 1 2 3 
--- Result --- 
There are 5 cars in the array.