Step 4 (S-10681)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/555/step/4

Step 4 (S-10681) 1.png

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


[00:19 - 00:34] так как базового класса всего 2 виртуальных метод в таблице виртуальных методов для коснешься будет венчике 1 будет соответствовать адресу деструктора 2


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


[00:50 - 01:09] определен метод который будет определять чисто виртуально метод и с прошлым и еще определен 1 дополнительный виртуальный метод курс а метод который возвращает строчку с названием того курса который доносит мечта


[01:09 - 01:24] тогда вот таблица виртуальных методов для класса тичер будет 3 чеки 1 2 будут соответствовать ячейкам из таблицы виртуальных методов для класс часть 1 страница адрес деструктора


[01:24 - 01:42] ну деструкторы уже красотищу а во 2 будет храниться адрес реализации методов и пышен а 3 щетка будет соответствовать этому новому методу курс который добавлен уже только в классе вечер этот метод он виртуальный будет виртуальным для всех


[01:42 - 01:59] наследников начинаешь рассмотрим следующий он наследника это класс профессор он наследуется тичера и у него также определен метод occupation и добавлен свой виртуальный метод


[01:59 - 02:17] все здесь который возвращает название газку диссертации в докторской диссертации а тогда в таблице виртуальных методов для класса профессор будет 4 ячейки в 1 будет содержаться адрес деструктором


[02:17 - 02:33] деструктор класса профессор а во 2 будет адрес реализации метода пышен для класса профессора это будет новый адрес то есть он не будет соответствовать адресу occupation для вас


[02:33 - 02:51] класс профессор переопределяет пишем самостоятельно в ячейке которая будет содержать адрес реализации метода курс будет ставить тот же самый адрес то есть вот здесь и здесь это


[02:51 - 03:10] 1 и тот же адрес это соответствует тому что класс профессор не реализует самостоятельно метод курс и использовать реализации наследования из класса но и до последнего


[03:10 - 03:29] в классе профессора есть некоторые реализации реализации соответствует конкретной никто адрес новый которое ты не пишешь то есть в принципе несмотря на размер получат все получится сочнее естественно мы определяем некоторый метод виртуальным


[03:29 - 03:42] этот метод является виртуальным начиная с данного класса для всех его наследников и каждую то это будет соответствовать 1 ячейки в таблице виртуальных