Храните их как указатели. Либо чистые указатели, либо какой-нибудь класс умных указателей.
EXTRA
На самом деле, указатели являются единственным способом, даже если класс не является рефератом, но подклассами и дочерние классы предназначены для использования в векторе. Почему: std :: vector распределяет байты sizeof (T) для каждого элемента, но sizeof (производныйFromT) может быть больше sizeof (T). Вы сможете вставить дочерний объект в вектор, но это может вызвать непредсказуемые проблемы во время выполнения.
Управление векторами указателей - это, конечно, боль, но, насколько я помню, boost содержит несколько умных указателей для упрощения задачи.