Re[5]: Почему не вызывается перегруженная виртуальная функци
От: Лазар Бешкенадзе СССР  
Дата: 15.03.06 12:25
Оценка: 48 (1) +1
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, functional, Вы писали:


F>>Прямо говорится:

К>

F>>...any direct or indirect call to an unimplemented pure virtual function from a constructor or destructor results in undefined behavior.

К>Прямой вызов виртуальной функции из ктора/дтора — статический. Если функция не определена (неважно, =0 она или нет), то получим не UB, а ошибку линковки.

Я встречал только один способ подавления виртуальности вызова в стандарте и это — явная квалификация 10.3 (12)
Если нет явной квалификации, вызов — виртуальный. А виртуальный вызов чисто виртуальной функции из ctor/dtor — undefined 10.4 (6)

Лазар
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.