История изменений
Исправление KivApple, (текущая версия) :
Во-первых, нет, нельзя. Внутри конструктора родителя используются реализации виртуальных методов от родителя. Виртуальные методы потомка начнут использоваться лишь когда отработает его конструктор (а он, по понятным причинам, выполняется после конструктора родителя). Это техническое ограничение C++ и его не обойти. Поэтому в конструкторах не рекомендуется вызывать виртуальные методы вообще, если не знаешь, что делаешь.
Во-вторых, бесконечный цикл в конструкторе - дизайн архитектуры так себе. Лучше сделай отдельный метод, который будешь вызывать сразу после создания объекта.
Исходная версия KivApple, :
Во-первых, нет, нельзя. Внутри конструктора родителя используются реализации виртуальных методов от родителя. Виртуальные методы потомка начнут использоваться лишь когда отработает его конструктор. Это техническое ограничение C++ и его не обойти. Поэтому в конструкторах не рекомендуется вызывать виртуальные методы вообще, если не знаешь, что делаешь.
Во-вторых, бесконечный цикл в конструкторе - дизайн архитектуры так себе. Лучше сделай отдельный метод, который будешь вызывать сразу после создания объекта.