The Standard Template Library has a dynamically sizable array type, a linked list type, and generally a whole bunch of useful stuff that makes this easy, called the STL. The problem with STL is that it can be a bit confusing to people familiar with only C or new to C++, but since you are already talking inheritance, it's C++. The *other* issue with STL is that it is written pretty densely, and errors can be huge and hard to deal with, but I would suggest you look into it for what you are planning.
Thanx...
Sean