Например:
class Base {
virtual void my_function() = 0;
};
class Derived : Base {
void my_function() override;
};
Из того, что я читал, ключевое слово override
используется, чтобы убедиться, что у нас есть правильная подпись в функции, которую мы переопределяем, и это, по-видимому, единственное ее использование.
Однако в случае чистой виртуальной функции компилятор выдает ошибку, если мы использовали неправильную подпись в классе Derived (или базовый класс, в зависимости от того, как вы видите вещи). Итак, есть ли смысл добавить override
в конец объявления Derived::my_function()
?