|
0 / 0 / 0
Регистрация: 20.12.2016
Сообщений: 2
|
||||||
Upcasting и виртуальные методы14.12.2017, 01:26. Показов 1083. Ответов 2
Метки нет (Все метки)
Всем привет
Догадываюсь что сабж баян, но все-таки, оооочень прошу знающих "разжевать" что именно происходит в коде:
Дааа, как-то коряво задал вопрос... Ладно, мне вроде как понятно почему в 41 строке выводится D и в 43 выводится В, а с 42 и 44 вообще не могу вкурить что там происходит, кто-то кого-то скрывает, но при этом все ссылаются на один и тот же обьект. Короче говоря, если есть такие кому не сложно, объясните пожалуйста, что происходит со строки 37 по строку 44. Буду весьма благодарен. Ну или хотя бы ткните в нужную литературу, где об этом можно подробно почитать. P.S. Читал Аблахари, суховато там написано как по мне: - ссылки полиморфны - и маленький пример про сокрытие и переопределение методов. Я во всяком случае, вроде уцепился за мысль, но постоянно от меня эта нить ускальзывает... Спасибо
0
|
||||||
| 14.12.2017, 01:26 | |
|
Ответы с готовыми решениями:
2
Виртуальные статические методы
Виртуальные методы и наследование |
|
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
|
|
| 14.12.2017, 01:34 | |
|
на данном этапе обучения забудь об этом,в общем неплохом, но слишком перемудреном, варианте...
почитай, для начала, что то полегче для восприятияЛитература по C# для начинающих и не только З.Ы. это пример таит для новичка много подводных камней, нужно базовое понимание... и если этот, конкретный пример, тебе разжуют, то шаг в право/лево тебя опять поставит в тупик
0
|
|
|
0 / 0 / 0
Регистрация: 20.12.2016
Сообщений: 2
|
|||
| 14.12.2017, 18:51 [ТС] | |||
|
"Спасибо" товарищу Diamante за очень дельный совет: читать литературу для начинающих. Уверен что я бы там быстро нашел ответы на свои вопросы...
![]() Ну да ладно, возможно для кого-то это окажется полезным. Как оказалось (это я узнал уже после долгого гугления), этот пример был взят из спецификации языка C#, раздел 10.6.3 "Virtual methods", хотя я с ним столкнулся на лекции, и в нем всего лишь изменены имена методов... Вот ссыль (правда там нумерация не совпадает: стр 297 - 297, раздел 15.6.4 "Virtual methods") Также, есть книга "Язык программирования C#. Классика Computers Science." 4-е изд. Хейлсберг А., Торгерсен М., Вилтамут С., Голд П., которая является, как я понял, переводом спецификации на русский язык, корявым (Sealed метод - бесплодный метод, к примеру) и не самым свежим переводом, но тем не менее. Инглиш в спецификации ну ооочень запутанный, и лично мне его сложновато читать. Так вот, цитата из этой книги (стр 520):
А именно:
Вот собственно такое мое видение и понимание этой ситуации. P.S. На счет Overloading и Inheritance Скит советует следующее: avoid overloading across inheritance boundaries... Просьба к знающим, поправить меня, если я написал какую-то ахинею. Спасибо CSharp Language Specification 6.0.pdf Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. - Программирование C#, 4-е изд (Классика Comput.pdf
0
|
|||
| 14.12.2017, 18:51 | |
|
Помогаю со студенческими работами здесь
3
Позднее связывание и виртуальные методы Виртуальные методы,с комментариями пожалуйста Скрыть виртуальные наследуемые методы Виртуальные методы и юнит-тесты Виртуальные методы. Перекрытие методов. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|