Найти в Дзене
Old Programmer

Объектно-ориентированное программирование. Наследование (C++). Статья 10

Оглавление

Мои последние публикации

Из записок старого программиста. Дао программиста. Книга 5
Old Programmer20 августа 2020

Все ссылки на статьи и ролики моего канала Old Programmer:

Программирование. Тематическое оглавление моего Zen-канала (Old Programmer)
Old Programmer17 августа 2020

Продолжаем серию статей об объектно-ориентированном программировании. Кажется я в одной из своих статей написал, что объектно-ориентированный подход эффективен для достаточно больших программ. Что касается наследования, то некоторые авторы вообще считают, что это вред. Но с другой стороны, используя библиотеки классов мы как раз и используем наследование. Надо только понимать, что слишком большое дерево классов в вашей программе может вместо облегчения принести вам дополнительную головную боль.

Множественное наследование в C++

Сегодня разберем такой вопрос как множественное наследование. Речь идет о том, что класс может наследовать сразу от двух или более классов, никак не связанных друг с другом. Не во всех объектных языках множественное наследование существует. Использовать его нужно аккуратно, чтобы излишне не усложнить структуру программы.

В программ main45.cpp как показано такое множественное наследование. Класс C наследует сразу от двух классов A и B: class C:public A, public B. Конечно, классы A и B равноправны, но все же класс A идет первым, поэтому и конструктор A запускается первым. Методы, определенные в классах A и B становятся доступны и в классе C. Надо только иметь в виду, что методы должны иметь разные имена (sic!).

Откомпилируем программу и запустим ее. У вас должно получиться:

Конструктор класса A
Конструктор класса B
Конструктор класса C
20
100

Ну все, пока! Программируйте объектно, но знайте меру и подписывайтесь на мой канал Old Programmer.

Фрагмент программы main45.cpp
Фрагмент программы main45.cpp

Рекомендуем почитать
Документы, вакансии и контакты