Vectors of pointers to abstract classes, to avoid 'allocating an object of abstract class type' error