You are on page 1of 3

Комп’ютерний практикум № 8

Спадкування класів
Базове спадкування в C++
Спадкування в C ++ відбувається між класами. Клас, від якого успадковують,
називається батьківським, базовим або суперкласом, а клас, який успадковує,
називається дочірнім, похідним, спадкоємцем або підкласом.

У цій же діаграмі Трикутник - це і дочірній клас (батько -


Фігура), і батьківський (для Правильного трикутника)
одночасно.

Множинне успадкування дозволяє одному дочірньому класу мати кілька


батьків.
Дочірній клас успадковує як поведінка
(методи), так і властивості (поля) від батька (з
урахуванням деяких обмежень доступу, які
визначаються за допомогою специфікаторів
доступу). Ці методи і змінні стають членами
дочірнього класу.
Один клас може успадковувати атрибути двох і більше класів одночасно. Для
цього використовується список базових класів, в якому синтаксично кожен з
базових класів відділений від інших коми. Загальна форма множинного
успадкування має вигляд:
class имя_ класса_наследника: список базовых классов // через «,» якщо їх декілька
{
...
};

Загальна таблиця специфікаторів доступу і типів успадкування:


Приклад наслідування:
Код програми:
#include <string>
#include <iostream>
using namespace std;

class Student
{
protected:
string name;
public:
Student(string name) : name(name)
{
}
virtual void Group() = 0;
};

class Economist : public Student


{
public:
Economist(string name) : Student(name)
{
}

void Group()
{
cout << name << " YE" << endl;
}
};

class Cybernetic : public Student


{
public:
Cybernetic(string name) : Student(name)
{
}
void Group()
{
cout << name << " YK" << endl;
}
};

class Manager : public Student


{
public:
Manager(string name) : Student(name)
{
}
void Group()
{
cout << name << " YV" << endl;
}
};

int main()
{

Student * stud[3] = {
new Economist("Maria"),
new Cybernetic("Vlad"),
new Manager("Sasha")
};

for (int i = 0; i < 3; ++i)


stud[i]->Group();

system("pause");
return 0;
}

Завдання:
Описати в структурі класів себе ☺
Батьки (тато, мама)
Нащадок – сам студент.
В кожному з класів повинно бути як мінімум по 3 власних поля і реалізовано по 2 метода
У Нащадка має бути реалізовано метод, який засновано на використанні полів (або/та
методів) Батьків

You might also like