/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/cpp/cpp-506-14-003/main.cpp
25 строк
816 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
// Контракт "умения лечить" — только heal(), без второго attack() class Healable { public: virtual void heal() const = 0; virtual ~Healable() = default; }; // Knight уже наследует Warrior и реализует attack() const class Paladin : public Knight, public Healable { public: Paladin(const std::string& name, const std::string& horse, int level = 1) : Knight(name, horse, level) {} void attack() const override { std::cout << getName() << " атакует священным мечом!\n"; } void heal() const override { std::cout << getName() << " использует исцеление!\n"; } void specialAbility() const override { std::cout << "Светлая защита!\n"; } };