Vector de typedefs

Es posible enALGUNA Manera de tener un vector de tipo (def) s enC ++ 11/14 ?

Lo primero que intenté fue tener un vector de una clase base y de alguna manera obtener el typedef de su forma derivada, pero no puedo hacer que esto funcione lo que sea que intente (no es posible).

Pseudo-C ++:

class base
{
   /* somehow access 'type' from derived */
}

template <typename T>
class derived : base
{
   typedef T type;
}

vector<base*> vec;
vec.push_back( new derived<int> );
vec.push_back( new derived<double> );
vec.push_back( new derived<float> );
vec.push_back( new derived<string> );

for(auto& item : vec)
   static_cast< item->type >( /* something */ );

Respuestas a la pregunta(4)

Su respuesta a la pregunta