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;
}

Ответы на вопрос(7)

Ваш ответ на вопрос