C ++ виртуальная функция из конструктора [дубликат]
На этот вопрос уже есть ответ здесь:
Вызов виртуальных функций внутри конструкторов 13 ответовПочему в следующем примере выводится «0», и что должно измениться, чтобы он печатал «1», как я и ожидал?
#include <iostream>
struct base {
virtual const int value() const {
return 0;
}
base() {
std::cout << value() << std::endl;
}
virtual ~base() {}
};
struct derived : public base {
virtual const int value() const {
return 1;
}
};
int main(void) {
derived example;
}