#include <iostream>
#include <vector>
using namespace std;
class Vehicle {
public:
void test() {
cout << "test: ";
cout << typeid(this).name() << endl;
}
};
class Car: public Vehicle { };
class Truck: public Vehicle { };
vector<Vehicle> list;
Vehicle vehicle;
Car car;
Truck truck;
list.push_back(vehicle);
list.push_back(car);
list.push_back(truck);
for (auto curVehicle : list) {
curVehicle.test();
}