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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
_mayor
1 / 1 / 0
Регистрация: 29.08.2009
Сообщений: 63
#1

Полиморфизм - C++

27.09.2009, 13:02. Просмотров 1741. Ответов 1
Метки нет (Все метки)

полиморфизм

runtime vs compile polymorphism:
как вы на проектах определяете, когда стоит пользоваться шаблоном, а когда виртуальными функциями?

полиморфизм аргументов функции:
допустим у меня в классе-интерфейсе A определена виртуальная функция принимающая и возвращающая ссылку или указатель на структуру a

можно ли в реализации интерфейса B, поменять тип аргументов функции или тип возвращаемого значения на b, унаследованный от a?

если да, то что произойдет, если через указатель типа A* на объект типа B передать ссылку на структуру b?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2009, 13:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Полиморфизм (C++):

С++ и полиморфизм - C++
Здравствуйте. Ответьте пожалуйста на несколько вопросов: 1. Что такое абстрактная функция простыми словами? 2. Что такое...

полиморфизм - C++
Всем привет, изучаю С++ недавно, я новичек в этом языке программирования, читаю про ООП, понял все за исключением полиморфизма, что делает...

полиморфизм=( - C++
Ув.Знатаки Доброго времени суток!Вот есть проблемка с написание полиморфизма,вот написал класс,написал наследование,а вот как теперь сюда...

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

Полиморфизм - C++
Сколько я не читал книг и уроков по С++-программированию, я так и не смог понять что такое полиморфизм. Можно ли как-то просто и...

Полиморфизм - C++
Всем доброго времени суток, Разъясните пожалуйста задание: Создать класс живущих с местоположением . Определить наследуемые классы -...

1
Nick Alte
Эксперт С++
1642 / 1014 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
27.09.2009, 19:52 #2
В теории, критерий выбора очень прост. Если на этапе компиляции известны типы данных, лучше воспользоваться статическим полиморфизмом, если нет - динамическим. На самом деле до этого вопроса обычно не доходит, потому что они просто применяются в разных ситуациях и ты заранее знаешь ответ.

Менять типы аргументов не получится, таким образом будет просто объявлена другая виртуальная функция, принадлежащая уже только классу B. Но можно либо работать с объектом типа b через предоставляемый a интерфейс (в том числе и через виртуальные функции), либо через dynamic_cast приводить указатель a* к типу b*. Впрочем, при использовании dynamic_cast надо каждый раз остановиться и задуматься: "А правильно ли я это дело спроектировал и так ли уж мне это надо на самом деле?", и продолжать только если имеется убедительно аргументированный положительный ответ.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2009, 19:52
Привет! Вот еще темы с ответами:

Полиморфизм c++ - C++
Построить массив из указателей (базового типа) на объекты обоих классов. Выбрать объекты производного класса, отсортировать их и сложить...

Полиморфизм - C++
В одной дешевой книжке про него пишут а в другой дорогой нет и понять я почему то немогу точно как и для чего он нужен

Полиморфизм - C++
Я хотел реализовать множество, используя множественное наследование, но когда написал template <class T> class set { protected: ...

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


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

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

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