Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

вопросы / 16.Виртуальные методы (ранее, позднее связывание

.rtf
Скачиваний:
18
Добавлен:
10.02.2015
Размер:
1.14 Mб
Скачать

16) Виртуальные методы

Monstr *p;

p=new daemon;

p→ draw(1,1,1,1)

(daemon*)p→draw(1,1,1,1);

virtual void draw(…);

monstr *p,*r;

r=new monstr;

p=new daemon;

v→draw(1,1,1,1);

p→draw(1,1,1,1);

p→monstr::draw(2,2,2,2)

Если объект производного класса вызывается из другого метода базового класса, т.е. косвенно, то будет вызван метод производного класса.

Виртуальный метод разрешается в результате выполнения программы.

vtbe (таблица виртуальных методов)

Каждый создаваемый объект имеет vptr