Читайте также:
|
|
В С++ виртуальные функции позволяют использовать полиморфизм классов. Так как виртуальные функции могут использоваться только внутри классов, то иногда их называют виртуальными методами.
В C++ полиморфизм реализуется через виртуальные функции. Но прежде чем добавлять виртуальные функции к классам, мы рассмотрим динамическое связывание.
Полиморфизм представляет собой способность объекта изменять форму во время выполнения программы. В этом уроке рассмотрены шаги, которые вам необходимо выполнить для создания полиморфных объектов. Из урока 39 вы узнаете, как использовать исключительные ситуации в C++ для обеспечения надежности вашей программы.
Виртуальные функции нужны в C++ для поддержки полиморфизма. Полиморфизм позволяет использовать одинаковый синтаксис для разных классов
2. Виртуальные методы и полиморфизм.
В общем случае полиморфизм представляет способность объекта изменять форму.
Полиморфизм – возможность замещения метода объекта-родителя одноименными методами объекта-потомка.
При работе с объектами довольно типичной является ситуация, когда сложный метод приходится создавать заново для каждого типа объекта, хотя различия в поведении объектов могут быть небольшими.
В этом случае обычно создается общий сложный метод, а различия вносятся в сменные подчиненные методы.
Реализация такого подхода осуществляется с помощью виртуальных подчиненных методов. С этой целью после заголовка каждого сменного метода требуется написать virtual. Заголовки виртуальных методов предка и потомка должны в точности совпадать, причем оба метода должны быть виртуальными.
Полиморфизм в С++ реализуется не только через виртуальные методы, но и через механизм перегрузки: внутри класса допускается существование нескольких функций с одинаковым именем, но различающимися типами результатов и наборами формальных параметров.
Дата добавления: 2015-08-27; просмотров: 61 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Атрибуты private, public, protected. | | | Конструктор и деструктор |