Почему мой метод переопределения не вызывается? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему мой метод переопределения не вызывается? [дубликат]

Сообщение Anonymous »

Потенциально простой вопрос. Я заметил несколько похожих вопросов, но ни один из них, похоже, не решил мою проблему, поэтому мой пост.

Base.h:

Код: Выделить всё

class Base
{
public:
Base();

protected:
virtual void Create() {}
};
Base.cpp:

Код: Выделить всё

Base::Base()
{
Create();
}
Child.h:

Код: Выделить всё

class Child : public Base
{
protected:
void Create() override;
};
Child.cpp:

Код: Выделить всё

void Child::Create()
{
// Work happens here
}
вызывается на Base вместо Child, когда я создаю Child. Почему Create не вызывается для Child?

Подробнее здесь: https://stackoverflow.com/questions/421 ... ing-called
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»