Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абстрактные классы и тп.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
304 Кб
Скачать
☆

Что необходимо знать

    1. Наследование представляет собой способность производить новый класс из существующего базового класса.

    2. Когда вы порождаете один класс из другого (базового класса), производный класс наследует элементы базового класса.

    3. Для порождения класса из базового начинайте определение производного класса ключевым словом class, за которым следует имя класса, двоеточие и имя базового класса, например class dalmatian: dog.

    4. Когда вы порождаете класс из базового класса, производный класс может обращаться к общим элементам базового класса, как будто эти элементы определены внутри самого производного класса. Для доступа к частным данным базового класса производный класс должен использовать интерфейсные функции базового класса.

    5. Внутри конструктора производного класса ваша программа может вызвать конструктор базового класса, указывая двоеточие, имя конструктора базового класса и соответствующие параметры сразу же после заголовка конструктора производного класса.

    6. Чтобы обеспечить производным классам прямой доступ к определенным элементам базового класса, в то же время защищая эти элементы от оставшейся части программы, C++ обеспечивает защищенные (protected) элементы класса. Производный класс может обращаться к защищенным элементам базового класса, как будто они являются общими. Однако для оставшейся части программы защищенные элементы эквивалентны частным.

    7. Если в производном и базовом классе есть элементы с одинаковым именем, то внутри функций производного класса C++ будет использовать элементы производного класса. Если функциям производного класса необходимо обратиться к элементу базового класса, вы должны использовать оператор глобального разрешения, например base class:: member.

    8. Полиморфный объект может изменять форму во время выполнения программы. Вы создаете полиморфные объекты, используя классы, порожденные от существующего базового класса.

    9. В базовом для полиморфного объекта классе вы должны определить одну или несколько функций как виртуальные (virtual).

    10. В общем случае полиморфные объекты отличаются использованием виртуальных функций базового класса.

    11. Для создания полиморфного объекта вам необходимо создать указатель на объект базового класса.

    12. Для изменения формы полиморфного объекта вы просто направляете указатель на различные объекты, присваивая новый адрес объекта указателю на полиморфный объект.

    13. Чисто виртуальная функция — это виртуальная функция базового класса, для которой в базовом классе не определены операторы. Вместо них базовый класс присваивает такой функции значение 0.

    14. Производные классы должны обеспечить определение функции для каждой чисто виртуальной функции базового класса.

    15. Множественное наследование является способностью порожденного класса наследовать характеристики нескольких базовых классов.

    16. Для порождения класса из нескольких базовых после имени нового класса и двоеточия вы указываете имена базовых классов, разделяя их запятыми, например class cabbit: public cat, public rabbit.

    17. При определении конструктора производного класса вы можете вызвать конструкторы всех базовых классов, передавая им необходимые параметры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]