Лекция 01. Тема Общая характеристика языков программирования высокого уровня


Virtual < тип > [ ; = 0 ] [ { . . . } ]


Download 4.1 Mb.
Pdf ko'rish
bet51/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   47   48   49   50   51   52   53   54   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

 
Virtual < тип > < имя метода> [ ; = 0 ] [ { . . . } ]; .
 
Такие замещаемые или виртуальные методы вызываются через 
полиморфную переменную и этот вызов динамически связывается с 


определением метода в соответствующем потомке (рис. 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 ( ) {

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   47   48   49   50   51   52   53   54   ...   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling