Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использование override? / 10 сообщений из 10, страница 1 из 1
22.02.2019, 13:40
    #39777903
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Нет ясности: зачем это объявление и в каких случаях использовать?
...
Рейтинг: 0 / 0
22.02.2019, 14:20
    #39777940
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Использовать во всех случаях когда перекрывается виртуальный метод родителя. Нужно чтобы
защитить себя от тупых опечаток и связанных с ними часов отладки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.02.2019, 14:47
    #39777977
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Dimitry SibiryakovИспользовать во всех случаях когда перекрывается виртуальный метод родителя. Нужно чтобы
защитить себя от тупых опечаток и связанных с ними часов отладки.


т.е., если я правильно понимаю

Код: plaintext
1.
2.
3.
4.
5.
6.
parent 
virtual method()


child: parent
virtual override method()



а так?

Код: plaintext
1.
2.
grandchild: child
virtual override method()
...
Рейтинг: 0 / 0
22.02.2019, 15:04
    #39777993
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Ты бы хоть синтаксис почитал прежде чем дискуссии разводить...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.02.2019, 15:24
    #39778013
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Dimitry SibiryakovТы бы хоть синтаксис почитал прежде чем дискуссии разводить...


правильно замечание, хотя я "дискуссии не развожу", всего лишь задал вопрос.
...
Рейтинг: 0 / 0
22.02.2019, 15:59
    #39778031
Фэйтл Эра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Ролг ХупинНет ясности: зачем это объявление и в каких случаях использовать?
"Ни за чем", на самом деле. Можно без него. :)

Нужен исключительно для собственного спокойствия, чтобы быть уверенным, что данный метод действительно перекрывает виртуальный с такой же сигнатурой у родительского класса. Компилятор даст тебе отлуп, если у родителя нет метода с такой же сигнатурой или у родителя такой метод не является виртуальным.
...
Рейтинг: 0 / 0
22.02.2019, 16:14
    #39778040
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Фэйтл ЭраРолг ХупинНет ясности: зачем это объявление и в каких случаях использовать?
"Ни за чем", на самом деле. Можно без него. :)

Нужен исключительно для собственного спокойствия, чтобы быть уверенным, что данный метод действительно перекрывает виртуальный с такой же сигнатурой у родительского класса. Компилятор даст тебе отлуп, если у родителя нет метода с такой же сигнатурой или у родителя такой метод не является виртуальным.

ок, теперь ясно
...
Рейтинг: 0 / 0
23.02.2019, 13:37
    #39778242
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Наткнулся на такую фразу

Кроме override существует спецификатор final, который запрещает переопределение виртуальной функции в классах-потомках.
Код: plaintext
1.
2.
3.
struct C5 : B {
  virtual void f() final;
};



Если в примере функция final то зачем ей virtual ?
...
Рейтинг: 0 / 0
23.02.2019, 13:39
    #39778243
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
AklinЕсли в примере функция final то зачем ей virtual ?

Ещё не перевелись динозавры, которые считают слово virtual необходимым для override.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.02.2019, 05:19
    #39778595
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование override?
Dimitry SibiryakovЕщё не перевелись динозавры, которые считают слово virtual необходимым для override.А разве оно когда-то было необходимым для override?
Возможно, virtual используется для последующих перекрытиях в последующих методах? (хотя для примера, вряд ли). Я когда был маленький, и понимал плюсы чисто интуитивно и на автомате(да что там, я и сейчас? возможно, такой же), я по всей иерархии писал virtual
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использование override? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]