-
Notifications
You must be signed in to change notification settings - Fork 13
5 Lesson
Konychev Valera edited this page Mar 3, 2019
·
6 revisions
-
Краткое повторение:
- public наследования (protected)
- виртуальных (virtual) методов
- Статическое и динамическое связывание.
- Друзья не могут быть виртуальными функциями.
- Переопределение скрывает методы.
-
Абстрактные базовые классы
- Чистая виртуальная функция = 0
-
Касты:
- static_cast<>
-
RTTI - Только для иерархий с виртуальными методами классов.
- *dynamic_cast<basePtr > - создаёт указатель на производный класс из указателя на базовый, когда это возможно. В случае провала вернёт nullptr.
- typeid - возвращает величину, идентифицирующую точный тип объекта.
- type_info - структура, содержащая информацию о типе.
- const_cast<>
- reinterpret_cast<>
-
Внутреннее устройство объектов класса:
- Размещение полей объекта в памяти базового класса.
- Последовательность создания полей объекта при вызове конструктора класса.
- Размещение полей объекта класса наследника.
- Таблица виртуальных методов.
- Поддержка RTTI.
- Размещение полей объекта в памяти базового класса.
- Краткое знакомство с шаблонными классами.
- vector
- array (c++11)
- valarray