/
plato
/
inheritance_polim
Обзор
Документация
Войти
/
plato
/
inheritance_polim
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ex1_figures.cpp
59 строк
1 KB
plato
feat: ex1_figures.cpp deprecated overrided methods
10 окт 2025, 21:19
10 окт 2025, 21:19
332d4e5
Код
Авторство
О чём код?
#include <iostream> #include <fstream> #include <string> class Figure { public: Figure() = default; Figure(int sides) : figure_sides_(sides) { if (sides == 4) { figure_name_ = "Четырёхугольник"; } else if (sides == 3) { figure_name_ = "Треугольник"; } } int get_sides() { return figure_sides_; } std::string get_figure_name() { return figure_name_; } protected: int figure_sides_ = 0; std::string figure_name_ = "Фигура"; }; class Triangle : public Figure { public: Triangle() : Figure(3) { figure_name_ = "Треугольник"; } }; class Quadrangle : public Figure { public: Quadrangle() : Figure(4) { figure_name_ = "Четырёхугольник"; } }; int main() { Figure f; Triangle t; Quadrangle q; Quadrangle q2; { std::cout << "Количество сторон:\n"; std::cout << f.get_figure_name() << ": " << f.get_sides() << std::endl; std::cout << t.get_figure_name() << ": " << t.get_sides() << std::endl; std::cout << q.get_figure_name() << ": " << q.get_sides() << std::endl; std::cout << q2.get_figure_name() << ": " << q2.get_sides() << std::endl; } return 0; }