Как создать обычный (не шаблонный класс), который наследовал бы шаблонный без явного определения типа? Хочу сделать подобие итератора,
template <class T> class Iterator : public New_List_<T>
{...}
но если его(class Iterator
) не сделать шаблонным
class Iterator : public New_List_<T>
{...}
выходит ошибка синтаксиса, до компиляции. Выход есть выставить определенный тип к примеру int
class Iterator : public New_List_<int>
{...}
Но хочется избежать этой ситуации и не делать случай частным.
UPD
Но кто писал STL контейнер (к примеру)List не мог же засунуть внутрь основного класса класс итератор, как то это наверное "рефакторилось"? Просто если даже перегрузить некоторые операторы к примеру = может получится следующая громоздкая реализация
template <class T> Iterator<T> *Iterator<T>::operator=(New_List_<T> *List)
{
Iterator = List;
return this;
}
и при вызове этого сего будет выглядеть, не так
std::list<int>::iterator iter = v.begin();
а так std::list<int>::iterator<int> iter = v.begin();
Конечно если я прав, - не компилил.
Как раз засунуть итератор внутрь основного класса и позволит писать std::list<int>::iterator
вместо std::vector<int>::iterator<int> iter = v.begin();
. Засунуть можно двумя способами:
template<typename T> class
list
{
public: class
iterator
{
...
template<typename T> class
list_iterator
{
...
template<typename T> class
list
{
public: using
iterator = list_iterator<T>;
...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я пишу свой веб-сервер на C++Планируется подключаться к нему с браузера, а он в ответ должен выдавать html-странички
Не могу до конца сообразить как работает данная конструкция в примере использования библиотеки TDLibсам пример
У меня есть задача: сложить все элементы массива заранее не зная сколько их и потом эту сумму сделать значением переменнойПомогите пожалуйста!