Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
NetMinon
0 / 0 / 0
Регистрация: 16.12.2006
Сообщений: 88
#1

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

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

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

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

функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. - C++
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.

Перегрузка виртуальных функций - C++
please HELP! перегружаю виртуальную функцию в абстрактном классе. class ONE { virtual std::string FUN(const std::string&...

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

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

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

Таблица виртуальных функций - C++
объясните плиз кто разбирается.. есть абстрактный класс с двумя виртуальными функциями, от него наследуются два класса реализующие эти...

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

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

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

Использование виртуальных функций - C++
Дан класс "треугольник", который определяется длиной одной из сторон и значениями прилегающих двух углов. Создать соответствующие...

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

ООП перезагрузка виртуальных функций - C++
Помогите, пожалуйста. Задание: "Создать абстрактный базовый класс Матрица с виртуальной функцией поиска максимального значения в массиве....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.03.2008, 17:27
Ответ Создать тему
Опции темы

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