Подскажите, как разрешить следующую ситуацию - у меня есть базовый контейнер от которого наследуется 2 различных:
class IExtractorBase;
class CExtractor : public IExtractorBase;
class CExtracted_threaded: public IExtractorBase;
У CExtractor
и CExtracted_threaded
различаются итераторы (опять же разные классы), но хотелось бы в базовом классе сделать чистые виртуальные функции
virtual iterator begin() = 0;
virtual iterator end() = 0;
virtual const_iterator cbegin() const = 0;
virtual const_iterator cend() const = 0;
но сами типы разные для наследуемых классов
Как лучше всего обойти проблему?
Вижу 2 пути
1) сделать базовый класс шаблонным, чтобы можно было указывать что за класс будет итератором и константным итератором
2) можно вообще не делать абстрактный класс
Мне кажется, что первый вариант лучше. Или есть более хорошие решения?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Например в консольных программах на языке си или c++ я могу использовать работу с сетью постепенноНу тоесть
Выпустили мы программу в продажу,у кого-то крашит у кого-то нетУ разработчика - нет,но у некоторых юзеров - да
Как вернуть неизвестный заранее тип переменной шаблона при помощи ключевого слова auto ?
У меня класс наследуется от QWidgetВ этом классе я создал grid_layout и меню классы