28) Наследование. Ограничение доступа при наследовании.
C++ поддерживает механизм наследования, являющийся одной из фундаментальных концепций ООП. Этот механизм обеспечивает создание производных классов. Производные классы - это эффективное средство расширения функциональных возможностей существующих классов без перепрограммирования этих классов и повторной компиляции существующих программ. В смысле функционирования производные классы или потомки являются более мощными по отношению к исходным {базовым) классам или родителям так как, имея доступ ко многим функциям и полям базового класса, они обладают еще и своими компонентами. По определению компонентами производного класса являются все компоненты базового класса, за исключением конструктора, деструктора и оператора равно ( = ), а также все компоненты, перечисленные в теле производного класса. Первое поле производного класса расположено после всех полей базового класса.
Определение производного класса (потомка) выполняется следующим
образом:
class <имя производного класса >:
<вид наследования><имя базового класса>{<тело класса>};
Вид наследования | Объявление поля в базовом классе | Видимость в производном классе |
private | private protected public | не видимо private private |
protected | private protected public | не видимо protected protected |
public | private protected public | не видимо protected public |
- 5)Указатели и ссылки.
- 12) Параметры структурных типов.
- 13) Классы памяти переменных.
- 14) Параметры-функции.
- 15) Правила, определяющие видимость переменных в функциях.
- 16) Пространства имен.
- Int Pages;
- Int getPages(); // тело будет описано в book.Сpp
- 18) Перегрузка функций.
- 19) Функции с параметрами по умолчанию.
- 20) Текстовые файлы. Отличие от Delphi Pascal.
- Int fscanf(file *stream,const char *format[,adress,...]);
- Int fprintf(file *stream,const char *format[,argument,...]);
- 21) Двоичные файлы. Отличие от Delphi Pascal.
- 22) Определение класса, компоненты класса. Ограничение доступа.
- 23) Инициализация полей при отсутствии конструктора.
- 24) Конструкторы. Инициализация полей при наличии конструктора.
- 25) Деструкторы.
- 27) Простое и множественное наследование классов.
- 28) Наследование. Ограничение доступа при наследовании.
- 29) Конструкторы и деструкторы производных классов.
- 30) Композиция.
- 31)Наполнение
- 32) Полиморфное наследование. Простой полиморфизм.
- 33) Полиморфное наследование. Сложный полиморфизм.
- 34) Статические компоненты классов.
- 35) Особенности работы с динамическими объектами.
- 36) Объекты с динамическими полями. Копирующий конструктор.
- Void Print(tPoint r) {…}
- 37) Дружественные функции, методы и классы.
- 38) Переопределение операций.
- 39) Шаблоны классов.
- 40) Шаблоны функций.
- 46) Сигналы, слоты и события Qt.