у меня вот так:
Derive d;
d.init();
d.do_something(); // это тоже pure virtual
И таких вот Derive штук 10, с разными реализациями. В случае с Derive::build мне нужно будет в каждой новой реализации добавить вот этот build. Или я что-то не так понял ? :)
а можешь пояснить, зачем тебе в такой ситуации virtual?
У меня есть базовый класс, Base, который создает поток (std::jthread) и содержит некоторую логику (типа, предварительной настройки, коннекторы, etc). И дальше есть разные классы, которые реализуют event_handler(), и этот метод вызывается из Base класса (его потока). Вообще, сама задача в том, что бы на каждую сущность был свой обработчик событий
почему event handler это метод?
Очевидно, что бы в наследниках переопределить этот метод...
Тогда ещё может быть запросто срезка по значению до базового класса...
А можно чуть подробнее? Для тех, кто плюсы видит третий раз )
для них другой чат
По значению где-то передал Derived в Base, и экземпляр стал Base вместо Derived.
до абстрактных классов нельзя срезаться
Конечно нельзя... Но кто ж спросит?
я имею в виду, что компилятор не даст, код не соберётся
Реинтерпрет каст - соберётся всё! (с)
Ну да, умельцы могут...
Харе фукать и блякать, лучше в блоге чо нить интересное запили)
Возможно, сегодня напишу
Про какой блох речь?
Я бы написал, но могут счесть за рекламу
Обсуждают сегодня