No, there is no generic base class in C++.
You can create your own and derive classes from it, but in order to take advantage of polymorphism, you must keep collections of pointers (or smart pointers).
After re-examining your question, I must mention std::list.
If you want a list that can specialize on multiple types, you use templates (of which std::list is one):
If you need a list that can hold multiple types in a single instance, use the base class approach: