
- •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.
27) Простое и множественное наследование классов.
C++ поддерживает механизм наследования, являющийся одной из фундаментальных концепций ООП. Этот механизм обеспечивает создание производных классов. Производные классы - это эффективное средство расширения функциональных возможностей существующих классов без перепрограммирования этих классов и повторной компиляции существующих программ. В смысле функционирования производные классы или потомки являются более мощными по отношению к исходным {базовым) классам или родителям так как, имея доступ ко многим функциям и полям базового класса, они обладают еще и своими компонентами. По определению компонентами производного класса являются все компоненты базового класса, за исключением конструктора, деструктора и оператора равно ( = ), а также все компоненты, перечисленные в теле производного класса. Первое поле производного класса расположено после всех полей базового класса.
Определение производного класса (потомка) выполняется следующим
образом:
class <имя производного класса >:
<вид наследования><имя базового класса>{<тело класса>};
Язык C++ позволяет наследование не только от одного, а одновременно от нескольких классов. Такое наследование получило название множественного. При множественном наследовании
производный класс включает произвольное количество базовых классов. Форма
наследования в этом случае выглядит следующим образом:
class <имя производного класса>:
<вид наследования><имя базового класса 1>,
<вид наследования><имя базового класса 2>,
<вид наследования><имя базового класса n>{...};
Вид наследования определяет режим доступа к компонентам каждого из базовых классов. Базовые классы создаются в том порядке, в котором они перечислены в списке базовых классов при объявлении производного класса. Если конструкторы базовых классов не имеют аргументов, то производный класс может не иметь конструктора. При наличии у конструктора базового
класса одного или нескольких аргументов каждый производный класс должен иметь конструктор
28) Наследование. Ограничение доступа при наследовании.
C++ поддерживает механизм наследования, являющийся одной из фундаментальных концепций ООП. Этот механизм обеспечивает создание производных классов. Производные классы - это эффективное средство расширения функциональных возможностей существующих классов без перепрограммирования этих классов и повторной компиляции существующих программ. В смысле функционирования производные классы или потомки являются более мощными по отношению к исходным {базовым) классам или родителям так как, имея доступ ко многим функциям и полям базового класса, они обладают еще и своими компонентами. По определению компонентами производного класса являются все компоненты базового класса, за исключением конструктора, деструктора и оператора равно ( = ), а также все компоненты, перечисленные в теле производного класса. Первое поле производного класса расположено после всех полей базового класса.
Определение производного класса (потомка) выполняется следующим
образом:
class <имя производного класса >:
<вид наследования><имя базового класса>{<тело класса>};
Вид наследования |
Объявление поля в базовом классе |
Видимость в производном классе |
private |
private protected public |
не видимо private private |
protected |
private protected public |
не видимо protected protected |
public |
private protected public |
не видимо protected public |