Step 3 (S-10673)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/554/step/3

Step 3 (S-10673) 1.png

[00:00 - 00:16] для того чтобы исправить эту ситуацию + + + нужен специальный механизм виртуальных если мы определим методы в базовом классе с ключевым словом virtual тогда при вызове метода через указатель на базовый класс


[00:16 - 00:34] то какой метод нибудь будет вызван будет зависеть не от типа указатели указатели нас типа то есть указатель на базовый класс а от типа конкретного объекта на который указатель посылать так как в данном случае указатель посылается на объект типа профессор то будет вызван


[00:34 - 00:49] переопределенный в классе профессора поэтому мы и в этом случае обратимся к профессору страуструпом уважайте аналогичным будет работать если мы будем ссылаться на объект тех профессор через ссылку


[00:49 - 01:04] важно отметить что если мы не укажем число увеличила то конкретный адрес метод который будет вызван через указатель на базовый класс будет подставлен на этапе компиляции


[01:04 - 01:22] то есть вот в результате перегрузки конкретный метод этот метод из базового класса будет поставлен адрес конкретного метода когда же мы указываем адрес конкретного метода который не будет вызван он будет зависеть от того какое значение сейчас хранится указатель


[01:22 - 01:32] а значит этот адрес будет выбираться на этапе выполнения как это конкретно работает мы обсудим в следующем терять