Здравствуйте Sergey, Вы писали:
S>Здравствуйте Grenal, Вы писали:
G>>Есть два класса базовый и дочерний. В базовом задана виртуальная функция, в дочернем она переопределяется. Проблема в следующем в конструкторе базового класса я дергую за виртуальную функцию и вызывается функция базового класса, можно ли это как то вылечить, что бы конструкторе базового класса вызывалась реализация метода дочернего?
S>Нельзя. В конструкторе базового класса наследник еще не сконструирован.
Кстати, недавно наступал на аналогичные грабли с точностью до наоборот...
Я в деструкторе базового класса вызывал виртуальную функцию, в надежде что она вызовет функцию, переопределенную в дочернем классе.
К тому времени отрабатывали деструкторы всех дочерних классов и по-всей видимости функции удалялись из таблицы виртуальных функций.
В результате — происходил вызов функции базового класса...