class object {
int param1;
int param2;
virtual void do_stuff();
}
class sub_obj1 : public object {
int param3;
}
class sub_obj2 : public object {
int param4;
}
class obj_list {
object *list;
int num;
template <class o_type> init(int num_objs) {
list = new o_type[num_objs];
num = num_objs;
}
}
obj_list mylist;
mylist.init<sub_obj1>(12);
my_list.list[6].do_stuff();
sizeof(my_list.list[0]) == sizeof(sub_obj1)