Українська
Підсумки
Висновки
Публічне наслідування задає контракт підстановки. Віртуальний виклик залежить від фактичного типу. Володіння та поліморфізм потребують окремих рішень. Зрізання змінює сам об’єкт, а не лише шлях виклику.
Питання для самоперевірки
- Коли відношення «є» виправдовує наслідування?
- Чим статичний тип відрізняється від динамічного?
- Навіщо потрібен віртуальний деструктор?
- Чому vector не зберігає похідну частину?
- Що перевіряє override?
- Яку поведінку має virtual у конструкторі бази?
- У якому порядку знищується ієрархія?
- Чим protected-метод кращий за відкритий доступ до поля?
- Як відрізняється невдалий dynamic_cast вказівника та посилання?
- Чому винятки перехоплюють за const-посиланням?
- Що означає final для класу й методу?
- Які ризики має static_cast до похідного типу?
- Чому vtable-схема не є гарантією ABI?
- Як using Base::Base впливає на нові поля?
- Коли dynamic_cast підказує змінити інтерфейс?