|
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
|
|
virtual функции07.02.2013, 18:20. Показов 6612. Ответов 32
Метки нет (Все метки)
я как-то пропустил лекцию по этой теме, и теперь совсем не понимаю назначение этих функций.
может кто поделиться ссылкой и нормальными примерами по этой теме? и да, я умею пользоваться гуглом, и вводил "virtual функции с++", читал, и не понял ничего
0
|
|
| 07.02.2013, 18:20 | |
|
Ответы с готовыми решениями:
32
Protected abstract virtual base pure virtual private destructor Возвращаемое значение virtual функции |
|
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
|
|
| 07.02.2013, 20:18 [ТС] | |
|
ммм, спасибо, кажется в моей голове начало что-то складываться
))Добавлено через 1 минуту а вот еще вопрос, последний в родительском классе virtual void print()=0 это значит что это виртуальная функция, но она ничего не делает? т.е. её нельзя вызвать(или её вызов из родит класса ничего не сделает), а указывает, что в наследниках есть переопределенные функции. правильно? нечто прототипа
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 07.02.2013, 20:22 | |
|
Тут нужно понять сначала саму суть наследования. Само понятия, что B является так же и типом A. То есть с ним можно обращаться так же, как и с типом A. Виртуальная функция нужна, например, для специфического поведения объекта производного класса.
Добавлено через 2 минуты Tiva, Это называется чисто виртуальная функция. Есть классы, которые просто описывают общий интерфейс для производных классов, которые уже сами будут определять поведение. На фигурах конечно не рекомендуются изучать наследование. Но раз уж начали, то можно было создать класс, который бы просто назывался Фигура, и у него как раз была бы чисто виртуальная функция sho() или draw().
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
|||||||
| 07.02.2013, 20:27 | |||||||
|
класс содержащий её называться абстрактный класс он кстати может содержать несколько чистых виртуальных функций объект создать от абстрактного класса нельзя вот представь что в моем примере ты пытался бы создать объект фигура ![]() но он ничего не знает ни о радиусе ни о количестве углов, в общем такая аморфная фигура значит создаем абстрактный класс и от него детей квадрат круг ....... единственная задача класса будет управлять рисованием Добавлено через 1 минуту
1
|
|||||||
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
||||||
| 07.02.2013, 20:29 | ||||||
|
Tiva,
Пока писал, уже ответили )))
1
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
||
| 07.02.2013, 20:30 | ||
|
как раз видна иерархия Фигура __ Многоугольник _____Треугольник _____Четырехугольник ________Квадрат __Овал ____Элипс _______Круг
0
|
||
|
Неэпический
|
||||||
| 07.02.2013, 20:32 | ||||||
|
Возможно, из этого примера Вам станет понятно как происходит вызов виртуальных функций(примерно):
0
|
||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 07.02.2013, 21:25 | ||
|
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
||
| 07.02.2013, 21:40 | ||
|
или что то поменялось в геометрии ? никто не мешает тебе создать свою иерархия или ты считаешь, что абстракте объяснение класс А является наследником класса Б, более понятно? ну тогда могу предложить еще одну иерархию Млекопитающие __Человек ____Женщина ____Мужчина
0
|
||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 07.02.2013, 22:12 | ||
|
ValeryS, изучающий наследование должен понять смысл отношения является. Должна быть какая то логика.
Наследование лучше изучать на реальных вещах и их абстракциях. Как например транспорт, автомобили и тд.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
|||||
| 07.02.2013, 22:19 | |||||
|
Не по теме:
бытовое значение окружности привел(круг) как обычно говорят "Нарисуй круг"
0
|
|||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 07.02.2013, 22:27 | ||
|
ValeryS, Википедия, конечно, ресурс хороший. Но и ее пишут такие же люди. Я вообще слышал людей, которые утверждали, что овал является бытовым понятием эллипса.
Ну а так даже на форуме можно поискать темы, в которых не рекомендовали изучать на фигурах, и критиковали за это преподавателей, которые это задавали.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
||
| 07.02.2013, 22:36 | ||
когда в качестве базового класса задавалась не абстрактная фигура а вполне конкретная точкатам действительно иерархия нарушалась, ну что может наследовать треугольник от точки? а вообще можно и в автомобилях запутаться вспомнилось Не по теме: Платон определил человека так: «Двуногое существо без перьев».
0
|
||
| 11.02.2013, 15:21 | ||
|
Не по теме:
0
|
||
| 11.02.2013, 15:21 | |
|
Значение delete в объявлении virtual функции
Зачем в конце объявления виртуальной функции ноль: virtual void show()=0 ? Виртуальные функции (нужно ли во всех производных классах писать слово virtual?) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|