While it is not necessary to provide all your source files, it would generally be a good idea to create a small but representative sample of actual code that could be posted. That reduces the need for other forum members to invest in training so they can practice mindreading. Also, by writing something that you think might look the same, you run the risk of leaving out relevant details.
In any event, you need to use an array of pointers to mybase to avoid slicing the objects. One effect of slicing is that polymorphic behaviour (calling a virtual function of the base and having it resolve to the most derived version) does not work.
More generally, to exploit polymorphism, it is necessary to use a pointer or reference to the (polymorphic) base class.
For example;
Code:
// your base class and derived classes a,b,c declared here
int main()
{
a A;
b B;
c C;
base *array[] = {&A, &B, &C};
array[0]->somefn();
array[1]->somefn();
}