Здравствуйте, rg45, Вы писали:
R>Какие у тебя есть основания утверждать, что виртуальная диспетчеризация работает
Я пришел к выводу, что по мнению Лазара работает, это когда вот так:
class base {
public:
base() { f(); }
virtual void f() {...}
};
class derived_first_level : public base {
public:
derived_first_level() { f(); /* тут корректно будет вызван base::f() */ }
};
class derived_second_level : public derived_first_level {
public:
derived_second_level() { f(); /* тут корректно будет вызван derived_second_level::f() */ }
void f() override {...}
};
class derived_third_level : public derived_second_level {
public:
derived_second_level() { f(); /* тут корректно будет вызван derived_second_level::f() */ }
};
ИМХО, именно этот сценарий Лазар и пытается нам описать.
То, что это к виртуальной диспетчеризации нормального человека не имеет отношения -- это уже другой вопрос. Но ведь работает же