Программирование · 2 min read · Oct 10, 2025
Изучение C/C++ шаг за шагом - Страница 14
14. Шаг за шагом C/C++ — Программирование на C++ - Наследование
Наследование
| | Введение
Производный класс и базовый класс
Указание производного класса
Конструкторы производного класса
Спецификаторы доступа
Публичный
Приватный
Защищенный
Спецификаторы доступа без наследования
Защищенный спецификатор доступа
Область действия спецификаторов доступа
Спецификаторы доступа с наследованием
Типы наследования
Одиночное наследование
Множественное наследование
Многоуровневое наследование
Гибридное наследование
Иерархическое наследование |
Введение
Наследование — это самая мощная функция объектно-ориентированного программирования. Наследование — это процесс создания новых классов, называемых производными классами, из существующих или базовых классов. Производный класс наследует все возможности базового класса, но может добавлять свои собственные украшения и уточнения.
Класс, называемый производным классом, может наследовать характеристики другого класса, называемого базовым классом.
Наследовать качества базового класса в производный класс называется наследованием .
Существительное — наследие. Мы знаем из нашей повседневной жизни, что используем концепцию классов, производных от подклассов. Например, транспортное средство — это класс, который снова делится на велосипеды, мотоциклы, автомобили, грузовики, автобусы и так далее.
Здесь транспортное средство известно как базовый класс, а производные элементы известны как производные классы или подклассы. **
В общем, каждый базовый класс имеет список качеств и характеристик. Основная тема в этом наследовании заключается в том, чтобы поделиться всеми общими характеристиками базового класса с производными классами.
| |
|
Наследование имеет важную функцию, позволяющую повторное использование. Один из результатов повторного использования — это простота распространения библиотек классов. Программист может использовать класс, созданный другим человеком или компанией, и, не изменяя его, производить другие классы из него, которые подходят для конкретных ситуаций.
Производный класс и базовый класс
Класс, называемый производным классом, может наследовать характеристики другого класса, называемого базовым классом.
Производный класс может добавлять другие характеристики, так что он становится специализированной версией базового класса. Наследование предоставляет мощный способ расширить возможности существующих классов и проектировать программы с использованием иерархических отношений.
Доступность членов базового класса из производных классов и из объектов производных классов является важным вопросом. Объекты производных классов могут получать доступ к данным или функциям в базовом классе, которые предшествуют ключевому слову protected из производных классов, но не наоборот. Классы могут быть публично или приватно производными от базовых классов. Объекты публично производного класса могут получать доступ к публичным членам базового класса, в то время как объекты приватно производного класса не могут.
Диаграмма показывает, как производный класс наследует.
| |
|
Класс может быть производным от более чем одного базового класса. Это называется множественным наследованием. Класс также может быть содержимым другого класса.
Указание производного класса
Объявление класса так же просто, как и использование ключевого слова class, а также объявление производного класса также просто, но класс должен заканчиваться идентификатором базового класса и спецификатором доступа.
Синтаксис для объявления производного класса:
Class
Например, class result : public stud;
| | / программа для принятия и отображения записи студента /
#include
using namespace std;
class add
{
private :
char str[20];
char city[20];
int pin;
public :
void get_add()
{
cout << “Введите адрес улица, город, индекс”;
cin >> street >>city>>pin;
}
void put_data()
{
cout << “Адрес: “ << str
<
};
class stud : public add
{
private :
int sno;
char name[20];
int m1,m2,m3;
public :
void get_data()
{
cout << “Введите номер студента “; cin >> sno;
cout << “Введите имя студента “; cin >> name;
cout << “Введите оценки студента по 3 предметам “;
cin >> m1 << m2 << m3;
}
void put_data()
{
cout << “Номер студента :” << sno;
cout << “Имя студента :” << name;
cout << “Оценки студента :
Get new posts in your inbox
No spam. Unsubscribe anytime.