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

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

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