Где использовать ключевое слово override в C ++ - PullRequest
0 голосов
/ 06 ноября 2018

Какой файл идеально подходит для использования идентификатора override в c ++ .h или .cpp?

war.h

class TimeStone : public InfinityStone
{
private:
    bool capturedByThanos() override; #1
};

war.cpp

bool TimeStone::capturedByThanos() override #2
{
    return true;
}

1 Ответ

0 голосов
/ 06 ноября 2018

Нельзя поместить спецификатор переопределения при определении функции вне спецификации члена класса. Язык не позволяет этого, и компилятор будет жаловаться. Так что на самом деле есть только один вариант.

Помимо этого, эта опция также имеет больше смысла. При объявлении функции вы выражаете намерение переопределить ее. Так что помещать override туда в точке выражения своего намерения имеет смысл. Это то, что вы просите, чтобы компилятор проверил здесь, ваше намерение переопределить. Объявление также достаточно для проверки того, что функция изначально объявлена ​​виртуальной, и что вы правильно подписали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...