Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
NetMinon
0 / 0 / 1
Регистрация: 16.12.2006
Сообщений: 88
#1

В чем смысл виртуальных функций? - C++

13.03.2008, 23:34. Просмотров 1093. Ответов 6
Метки нет (Все метки)

Читаю книгу Джесс Либерти 'С++ за 21 день', не смотря на глупое название, книга очень грамотная и мне очень нравится...
но прочитав раздел посвященный вмртуальным фуекциям - не понял зачем они нужны и как все это применить на практике...
да и вообще эта тема там мало освещена...
Заметил что в базовых классах очень много таких функций...
http://www.cyberforum.ru/cpp-beginners/thread288286.html

Если кто хорошо знает эту тему и применяет это все на практике, пожалуйста обьясните...
Заранее благодарен, Роман.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2008, 23:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В чем смысл виртуальных функций? (C++):

Механизм виртуальных функций
Всем привет! Имею базовый абстрактный класс: class Interface { public:...

Использование виртуальных функций
Программа берет данные из двух файлов, в которых есть дата и количество...

Таблица виртуальных функций
Доброго дня! Не могу найти, подскажите, пожалуйста, таблица виртуальных функций...

Таблица виртуальных функций
объясните плиз кто разбирается.. есть абстрактный класс с двумя виртуальными...

Использование виртуальных функций
Дан класс "треугольник", который определяется длиной одной из сторон и...

6
NetMinon
0 / 0 / 1
Регистрация: 16.12.2006
Сообщений: 88
13.03.2008, 23:39  [ТС] #2
Да и зачем ссылаться на производный клас присваивая указателю тип базового?
0
NetMinon
0 / 0 / 1
Регистрация: 16.12.2006
Сообщений: 88
14.03.2008, 02:57  [ТС] #3
единственное применение которое я нашел данному методу - это создание масива обьектов... в других же случаях можно просто подменить нужную функцию в производном классе... что избавляет от кучи проблем, связаных с недоступностью новых функций производного класса (пожно конечно привести тип указателя к типу производного класса, но это сильно затруднит понимание и написание программы)...

ничего не понимаю...
0
NetMinon
0 / 0 / 1
Регистрация: 16.12.2006
Сообщений: 88
16.03.2008, 15:19  [ТС] #4
да и еще передача указателя на обьект как параметр функции, дабы не плодит перегруженых вариантов...
0
mort
17.03.2008, 03:44 #5
Сложно вес это обьяснить в дыух словах. Купи книжку Г.Шилд 'Программирование на с/c++' - стоит не много и на мой взгляд достатоно понятно описывает концепцию обьектного программирования.
mobi_DI
0 / 0 / 0
Регистрация: 05.02.2008
Сообщений: 23
17.03.2008, 14:16 #6
Для разбиения программы на
независимые друг от друга модули.
Которые общаются между собой и дергают друг
за друга через интерфейсы(указатели на базовые классы).
Такие модули могут легко заменяться и разрабатываться
паралельно группой программистов НЕ ЖЕЛАЮЩИХ БЕГАТЬ ДРУГ
ЗА ДРУГОМ с просьбой сообщать о последних изменениях.
0
Archie
18.03.2008, 17:27 #7
или например тебе требуется пробежать по массиву контролов, ясно что они должны быть отнаследованы от базового класса/интерфейса
18.03.2008, 17:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2008, 17:27
Привет! Вот еще темы с решениями:

Вызов виртуальных функций
Доброго времени суток, форумчане! Стоит такая задача: Есть класс, который...

Замена виртуальных функций шаблонами
Такая задача - нужно заменить виртуальные функции шаблонами. Можно сделать так:...

Полиморфизм и исследование виртуальных функций
Добавьте в состав класса виртуальную функцию просмотра текущего объекта print...

Практическое применение виртуальных функций
Собственно препод задал вопрос, рассказал ему все про механическую сторону...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru