Подскажите, как разрешить следующую ситуацию - у меня есть базовый контейнер от которого наследуется 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) можно вообще не делать абстрактный класс
Мне кажется, что первый вариант лучше. Или есть более хорошие решения?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Например в консольных программах на языке си или c++ я могу использовать работу с сетью постепенноНу тоесть
Выпустили мы программу в продажу,у кого-то крашит у кого-то нетУ разработчика - нет,но у некоторых юзеров - да
Как вернуть неизвестный заранее тип переменной шаблона при помощи ключевого слова auto ?
У меня класс наследуется от QWidgetВ этом классе я создал grid_layout и меню классы