
template <typename blah>
class MyTemplateBaseClass
{
    public: 
    typedef blah my_blah_typedef;
};

template <typename arg>
class DerivedFromTemplated : private MyTemplateBaseClass<arg>
{
public:
    //Either giving the full name:
    typename MyTemplateBaseClass<arg>::my_blah_typedef GetBlahType()
    {
        return typename MyTemplateBaseClass<arg>::my_blah_typedef();
    }

    //Or typedef-ing it locally:
    typedef typename MyTemplateBaseClass<arg>::my_blah_typedef my_blah_typedef;
    my_blah_typedef GetBlahType2() 
    {
        return my_blah_typedef();
    }
};

int main()
{
    DerivedFromTemplated<int> test;
}