Активный
- Тема Автор
- #1
Наследование позволяет переиспользовать код. Разберем использование.
Базовое наследование
Виртуальные функции
Множественное наследование
Важные моменты:
- Используйте виртуальные функции для полиморфизма
- Избегайте множественного наследования когда возможно
- Правильно организуйте иерархию
- Документируйте наследование
Наследование упрощает переиспользование кода!
Базовое наследование
Код:
#include <iostream>
using namespace std;
class Animal {
protected:
string name;
public:
Animal(string n) : name(n) {}
void speak() {
cout << name << " издает звук" << endl;
}
};
class Dog : public Animal {
public:
Dog(string n) : Animal(n) {}
void speak() {
cout << name << " лает: Гав-гав!" << endl;
}
};
int main() {
Dog dog("Бобик");
dog.speak();
return 0;
}
Виртуальные функции
Код:
class Animal {
public:
virtual void speak() {
cout << "Звук животного" << endl;
}
};
class Dog : public Animal {
public:
void speak() override {
cout << "Гав-гав!" << endl;
}
};
Множественное наследование
Код:
class A {
public:
void methodA() {}
};
class B {
public:
void methodB() {}
};
class C : public A, public B {
// наследует от A и B
};
Важные моменты:
- Используйте виртуальные функции для полиморфизма
- Избегайте множественного наследования когда возможно
- Правильно организуйте иерархию
- Документируйте наследование
Наследование упрощает переиспользование кода!