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

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

Войти
Регистрация
Восстановить пароль
 
mrKi
2 / 2 / 0
Регистрация: 01.08.2013
Сообщений: 60
#1

Замещение и виртуальные функции - C++

21.08.2013, 22:39. Просмотров 561. Ответов 9
Метки нет (Все метки)

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

виртуальные и чисто виртуальные функции - C++
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции сделать чисто виртуальную? #include <iostream> using...

Виртуальные функции - C++
Доброго времени суток. Есть задание. Создать абстрактный класс Function (функция) с виртуальными методами вычисления значения функции...

Виртуальные функции в С++ - C++
Здравствуйт. Помогите осмыслить доконца вирт. ф-ции. После прочтения источников я собрал определенную картину: Вирт функции...

виртуальные функции - C++
интересует 2 вопроса:1)Какими элементами могут отличаться экземпляры одной виртуальной функции, находящиеся в разных производных...

Виртуальные функции - C++
Вопрос. Как вызвать функцию наследника через указатель на базовый класс? Так не компилируется 3.cpp:19:19: error: invalid covariant...

Виртуальные функции - C++
Помогите пожалуйста написать задачу, никак не могу разобраться. Создайте класс Matr, определите в нем виртуальную функцию-член...

9
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
21.08.2013, 22:40 #2
Цитата Сообщение от mrKi Посмотреть сообщение
заместить
==перегрузить?
0
mrKi
2 / 2 / 0
Регистрация: 01.08.2013
Сообщений: 60
21.08.2013, 22:50  [ТС] #3
proger_55, заместить к классе созданном от начального

Добавлено через 1 минуту
proger_55, я имею ввиду ситуацию с наследованием. Если в подклассе нужно изменить метод класса то можно просто его заместить,а можно прописать сначала в базовом что она виртуальна,и только потом изменять.Зачем такие сложности?
0
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
21.08.2013, 22:59 #4
mrKi, лучше Страуструпа я объяснить не смогу. стр. 381 там все очень подробно объясняется.
0
mrKi
2 / 2 / 0
Регистрация: 01.08.2013
Сообщений: 60
21.08.2013, 23:01  [ТС] #5
proger_55, название книги можно?
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
21.08.2013, 23:02 #6
Полезность виртуальных методов всплывает при использовании косвенного обращения.
0
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
21.08.2013, 23:02 #7
Бьярн Страуструпп. "Язык программирования С++"
1
mrKi
2 / 2 / 0
Регистрация: 01.08.2013
Сообщений: 60
21.08.2013, 23:11  [ТС] #8
Issues, буду по книгам разбираться )
proger_55, спасибо.
0
Kastaneda
Нарушитель
Эксперт С++
4673 / 2877 / 233
Регистрация: 12.12.2009
Сообщений: 7,309
Записей в блоге: 2
Завершенные тесты: 1
22.08.2013, 09:40 #9
Цитата Сообщение от mrKi Посмотреть сообщение
какой смысл в создание виртуальных функций
полиморфизм (позднее связывание)
0
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
22.08.2013, 10:19 #10
Если вы задаёте такие вопросы то вам помогут видеолекции и книги к курсу, на которые я уже давал ссылку
Для того чтобы выучить С++ по книге Бьёрна Страуструпа

там же в списке есть и Страуструп.
Правда я уже досмотрел до 8 лекции и о полиморфизме ещё не рассказали.

Добавлено через 7 минут
Цитата Сообщение от proger_55 Посмотреть сообщение
Бьярн Страуструпп. "Язык программирования С++"
Давайте возьмём последнее издание и посмотрим, что он пишет в предисловии
If you ask, ‘‘What’s a for-loop?’’ or ‘‘What’s a compiler?’’ then this book is not (yet) for you; instead, I recommend my Programming: Principles and Practice Using C++ to get started with programming and C++. Furthermore, I assume that readers have some maturity as software developers. If you ask ‘‘Why bother testing?’’ or say, ‘‘All languages are basically the same; just show me the syntax’’ or are confident that there is a single language that is ideal for every task, this is not the book for you.
0
22.08.2013, 10:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2013, 10:19
Привет! Вот еще темы с ответами:

Виртуальные функции - C++
Разработать программу с использованием наследования классов, реализующую классы: Земноводное(ареал обитания)->Крокодил(род, длина, вес) ...

Виртуальные функции - C++
Если в базовом классе А есть виртуальная функция show() перегруженная, то есть имеется три разные версии этой функции. Есть класс Б...

Виртуальные функции - C++
Какие происходят изменения, когда в классе объявляем одну или несколько функций виртуальными? Вот, например, если в SuperClass перед...

Виртуальные функции - C++
Объясните пожалуйста зачем нужны чисто виртуальные функции?


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

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

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