Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:вопросы / 16.Виртуальные методы (ранее, позднее связывание
.rtf16) Виртуальные методы
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
Соседние файлы в папке вопросы