/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/cpp/cpp-506-14-002/main.cpp
33 строки
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
// Обычное наследование (один родитель) class Knight : public Warrior { // public — тип наследования private: std::string horseName; public: Knight(const std::string& name, const std::string& horse, int level = 1) : Warrior(name, level), horseName(horse) {} // override — ключевое слово (C++11, для читаемости) void attack() const override { std::cout << getName() << " на коне " << horseName << " атакует!" << std::endl; } void specialAbility() const override { std::cout << "Рыцарский удар!" << std::endl; } }; // МНОЖЕСТВЕННОЕ наследование (того нет в Java/C#) class Flying { public: virtual void fly() { std::cout << "Летит" << std::endl; } }; class Swimming { public: virtual void swim() { std::cout << "Плывёт" << std::endl; } }; class Duck : public Flying, public Swimming { // два родителя! // Алмазная проблема — если Flying и Swimming наследуют общий класс };