определением метода в соответствующем потомке (рис. 5.4, 5.5).
Полиморфная переменная определяется через указатель на
базовый класс и
ссылку.
Таким образом, полиморфная переменная – это
своеобразный
параметр, через который в разные моменты
времени можно обращаться к
методам разных потомков:
<п/п>
< метод потомка 1>
. . . . . . .
. . . . . . .
<п/п>
< метод потомка 2>
Рисунок 5.4. Схема обращения к
виртуальному методу
Рисунок 5.5. Схема обращения к
замещаемому методу
Далее
рассматривается
пример,
демонстрирующий
механизм
использования
чистого виртуального метода, а
в качестве полиморфной
переменной берется указатель.
Пример 3.
Class figure {
Предок
Метод {…..}
Потомок 1
Замещаемый метод 1 {…}
Потомок 2
Замещаемый метод 2 {…}
п/п
: <предок>
Предок
Virtual Метод {…..}
Потомок 1
Virtual метод 1 {…}
Потомок 2
Virtual метод 2 {…}
п/п
: <предок>
Protected : float x, y ;
объявлен абстрактный класс
Virtyal void show_fig ( ) = 0 ; }
Class triangle : public figure {
Public void show_fig ( ) {
Do'stlaringiz bilan baham: