C ++

Наследование C ++

Наследование C ++
Наследование - очень важная особенность объектно-ориентированного программирования. Это позволяет программисту получить класс из существующего класса. Это очень полезно, особенно в большом сложном проекте, поскольку позволяет программисту повторно использовать код.

В этой статье мы собираемся обсудить концепцию наследования в программировании на C ++. Мы объясним концепцию функции друга в C ++ на рабочих примерах.

Почему наследование?

Наследование позволяет создать новый класс или производный класс из другого класса или базового класса. Производный класс или дочерний класс будет иметь все функции родительского или базового класса. Мы можем повторно использовать код с помощью наследования.

Тип наследования

Есть разные типы наследования:

  1. Простое / одиночное наследование
  2. Иерархическое наследование
  3. Многоуровневое наследование
  4. Множественное наследование

В этой статье мы рассмотрим только простое / одиночное наследование.

Пример 1:

Теперь давайте рассмотрим пример программы, чтобы понять концепцию наследования в C++. Мы определили базовый класс, а затем наследовали от него другой класс. Следовательно, производный класс будет иметь функции (члены и функции) из базового класса.

#включать
используя пространство имен std;
класс Base_Class

общественность:
int i;
пустой дисплей ()

cout << "Display of Base Class " << i << endl;

;
класс Derived_Class: общедоступный Base_Class

общественность:
недействительное шоу ()

cout << "Show of Derived Class" << endl;

;
int main ()

Derived_Class dc;
Округ Колумбия.я = 100;
Округ Колумбия.отображать();
Округ Колумбия.показывать();
возврат 0;

Пример 2:

Это еще один пример наследования в C++. В этом примере мы увидим, как конструкторы вызываются при создании объекта производного класса.

Как вы можете видеть ниже, мы определили два конструктора базового класса и три конструктора производного класса. Из приведенного ниже вывода ясно видно, что конструктор базового класса вызывается первым до того, как вызывается конструктор производного класса.

#включать
#включать
используя пространство имен std;
класс Base_Class

общественность:
Базовый_Класс ()

cout << "Base_Class - No Parameters" << endl;

Базовый_Класс (целое число x)

cout << "Base_Class - Parameters : " << x << endl;

;
класс Derived_Class: общедоступный Base_Class

общественность:
Derived_Class ()

cout << "Derived_Class - No Parameters" << endl;

Derived_Class (целое число y)

cout << "Derived_Class - Parameters : " << y << endl;

Derived_Class (int x, int y): базовый_класс (x)

cout << "Param of Derived_Class : " << y << endl;

;
int main ()

Derived_Class d (7,19);

Пример 3:

В этом примере мы увидим, как можно использовать объекты производного класса.

Как видите, определены два класса: Rectangle_Class и Cube_Class. Rectangle_Class - это базовый класс, от которого производный класс i.е., Cube_Class является производным. Следовательно, мы наследуем функции от Rectangle_Class до Cube_Class.

Также вы можете заметить, что мы наследуем Cube_Class с общедоступным контролем доступа. Это означает, что производный класс может получить доступ ко всем не закрытым членам базового класса.

Мы объявили объект производного класса, а затем вызываем методы из базового класса i.е., setLength () и setBreadth ().

#включать
используя пространство имен std;
класс Rectangle_Class

частный:
int length;
int width;
общественность:
Rectangle_Class ();
Rectangle_Class (int l, int b);
Прямоугольный_класс (Прямоугольный_класс & r);
int getLength ()

длина возврата;

int getBreadth ()

ширина возврата;

void setLength (int l);
void setBreadth (int b);
int area ();
;
класс Cube_Class: общедоступный Rectangle_Class

частный:
int height;
общественность:
Cube_Class (интервал h)

высота = h;

int getHeight ()

высота возврата;

void setHeight (int h)

высота = h;

int volume ()

return getLength () * getBreadth () * высота;

;
Rectangle_Class :: Rectangle_Class ()

длина = 1;
ширина = 1;

Rectangle_Class :: Rectangle_Class (интервал l, интервал b)

длина = l;
ширина = b;

Прямоугольный_класс :: Прямоугольный_класс (Прямоугольный_класс & r)

длина = г.длина;
ширина = г.ширина;

void Rectangle_Class :: setLength (интервал l)

длина = l;

void Rectangle_Class :: setBreadth (интервал b)

ширина = b;

int Rectangle_Class :: area ()

длина возврата * ширина;

int main ()

Cube_Class c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<

Заключение:

В этой статье я объяснил концепцию наследования в C++. C ++ поддерживает различные типы наследования, включая «множественное наследование» (i.е., наследование функций от нескольких базовых классов или родительских классов). Однако, чтобы упростить, я рассмотрел здесь только одиночное наследование. Я показал три рабочих примера, чтобы объяснить, как мы можем использовать наследование в программировании на C ++ и повторно использовать код. Более того, это очень полезная функция C++.

Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...
Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...