7 choices...

1) Modify the STL templates. DONT!
2) Derive a concrete class publically from std::vector
3) Derive a concrete class privately from std::vector
4) Aggregate std::vector into a concrete class
5) Derive a template class publically from std::vector
6) Derive a template class privately from std::vector
7) Aggregate std::vector into a template class

From the description yo give I would take #4 or #7....