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

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Наследование позволяет переиспользовать код. Разберем использование.

Базовое наследование
Код:
#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
};

Важные моменты:
- Используйте виртуальные функции для полиморфизма
- Избегайте множественного наследования когда возможно
- Правильно организуйте иерархию
- Документируйте наследование

Наследование упрощает переиспользование кода!
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху