|
9 / 9 / 0
Регистрация: 07.10.2011
Сообщений: 187
|
|
Чем отличается override от virtual?22.12.2015, 16:40. Показов 19374. Ответов 76
Метки нет (Все метки)
Так и не понял.
Если указать метод как override, то он переопределит метод базового класса Для этого метод базового класса должен быть virtual? Но virtual методы и без этого переопределяются, разве не так?
0
|
|
| 22.12.2015, 16:40 | |
|
Ответы с готовыми решениями:
76
Зачем использовать virtual и override? Зачем нужен virtual и override |
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|||||||
| 23.12.2015, 15:49 | |||||||
|
Кликните здесь для просмотра всего текста
0
|
|||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 23.12.2015, 15:56 | |
|
1
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 23.12.2015, 16:17 | |||
|
и там в комменте нечто другое сказано:
0
|
|||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 23.12.2015, 16:18 | |
|
Зачем вообще ограничивать программистов делая свой метод final ? Если кто-то пытается унаследовать класс, то он знает что делает переопределяя поведение)
0
|
|
|
Неэпический
|
|||||||
| 23.12.2015, 16:25 | |||||||
![]() также с помощью final, например, можно ограничить наследование
0
|
|||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 23.12.2015, 16:26 | ||
|
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 23.12.2015, 16:33 | ||
|
0
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 23.12.2015, 16:36 | ||
|
Потому, что даже если этот метод private, в наследнике его можно переопределить. Вызвать нельзя, а переопределить можно. private - детали реализиции которые мы можем менять ни у кого не спрашивая и хорошо бы лишить других возможности их изменить не спрашивая у нас.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 23.12.2015, 19:20 | ||
|
метода может нарушить логику работы (например - фабричного метода) в этом случае final будет очень кстати.
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 23.12.2015, 19:55 | ||
|
я не понял как base* getMyTypePart() const переопределение поломает фабрику. Или темболее описание новой логики сборки используя baseFactory методы
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 23.12.2015, 20:51 | ||
|
разные модули - разные игрушки. разные картинки, разная музыка, разные эффекты разное шоу, которое они показывают игрокам. но смысл всех игрушек один и тот же. так что можно сказать, что они - клоны друг друга. однако вычисления связанные с расчетами выигрышей/проигрышами игроков(деньги) у них у всех одинковый, и зашит в базовом классе. поэтому, делаем общую базу, от которой наследуются модули. основной функционал весь остается в базе, а модули реализуют лишь мелкие детальки. далее: есть движок, который ничего не знает о конкретной базе. он предназначен для работы с различными базами. то бишь, на нем и слоты, и покер отыграть можно, и рулетку, и тп. соотвественно - все через интерфейсы. соотвественно, технически, ничто не мешает модулю переопределить не тот виртуальный метод интерфейса движка, что бы вмешаться в бизнес-логику базы от которой он унаследован. соотвественно, деньги казино под угрозой. вот если бы наследники в принципе не могли бы переопределить то, чего им переопределять не следует, тогда можно было бы не бояться, что наследники ничайно поломают базовый класс. а поскольку такая ситуация не допустима в принципе, то в условиях отсутствия final, пришлось бы заморачиваться: в место наследования агрегацию использовать, например. а так буковок мало, и все безопасно.
1
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 24.12.2015, 01:07 | |||
![]() Кстати я нашел вот что: http://herbsutter.com/2013/04/... -variable/ Но если взглянуть там на второй комментарий и число лайков/дизлайков (43/4), то можно убедиться, что множество народу не поддерживает такой стиль.
1
|
|||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 24.12.2015, 07:59 | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 24.12.2015, 14:24 | ||
|
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 24.12.2015, 14:45 | ||
|
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 24.12.2015, 15:03 | ||
|
А если используется, то либо friend, либо member.
0
|
||
| 24.12.2015, 15:03 | |
|
Обязательно ли описывать функцию с override, если в базовом классе уже есть метод с virtual?
В чем различие применение модификатора override и new? Чем отличается =- от -= Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|