Wektor typedefs

Czy to możliwe wKAŻDY sposób na posiadanie wektora typu (def) sC ++ 11/14 ?

Pierwszą rzeczą, którą próbowałem, był wektor klasy bazowej i jakoś otrzymałem typedef z jego wyprowadzonej postaci, ale nie mogę tego zmusić do działania, co próbuję (nie jest to prawdopodobne).

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 */ );

questionAnswers(4)

yourAnswerToTheQuestion