Используйте typedef / using из шаблонного базового класса в производном классе

В доступе кusing из базового класса с шаблонным базовым классом, я 'Мы столкнулись с проблемой многословия, если не сказать ничего другого. В приведенном ниже коде производный класс пытается использоватьmy_type из своего базового класса.

template 
class Base {
    public:
        using mytype = T;
};

template 
class Derived : public Base{
    public:
        // using the base's mytype here
        static typename Base::mytype func() { return 0;}
};

Однако на практике яЯ считаю, что это ужасно много символов, потому что кажется, что это должно быть проще. если базовый класс не был шаблонизирован, то он нене требует или имя типа (очевидно).

В моей реальной проблеме, у меня есть много классов, основанных на базе, и я хочу упростить это, если это возможно. То, что у меня есть на данный момент, похоже на следующий пример, где ям просто добавив дополнительныйusing чтобы получить тип из базового класса, но это похоже на дополнительный слой, который я не долженне нужно иметь.

template 
class Derived : public Base{
    public:
        using base_type = typename Base::mytype;
        static base_type func() { return 0;}
};

это может показаться глупой проблемой, но сколько раз базовый классmytype используется в производных классах, что делает его довольно отвратительным в первом случае. Есть липраво способ получить типы из шаблонной базы, которая поддерживает читабельность?

Ответы на вопрос(2)

Ваш ответ на вопрос