/
plato
/
exceptions
Обзор
Документация
Войти
/
plato
/
exceptions
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ex2/main.cpp
41 строка
1 KB
Evanivan
first_commit
11 окт 2025, 17:35
11 окт 2025, 17:35
545c406
Код
Авторство
О чём код?
#include <iostream> #include <string> #include <vector> #include <memory> #include "rhombus.h" #include "right_triangle.h" #include "square.h" #include "basic_figure.h" #include "isosceles_triangle.h" #include "equilateral_triangle.h" #include "exceptions.h" int main() { std::vector<std::unique_ptr<Figure>> figures; try { figures.push_back(std::make_unique<BasicFigure>()); figures.push_back(std::make_unique<Triangle>(1, 2, 3, 50, 60, 70)); figures.push_back(std::make_unique<Triangle>(1, 2, 3, 50, 90, 70)); figures.push_back(std::make_unique<RightTriangle>(10, 20, 22, 50, 40)); figures.push_back(std::make_unique<IsoscelesTriangle>(10, 20, 50, 80)); figures.push_back(std::make_unique<EquilateralTriangle>(15)); figures.push_back(std::make_unique<Quadrangle>(10, 20, 30, 40, 50, 60, 70, 180)); figures.push_back(std::make_unique<Rectangle>(10, 20)); figures.push_back(std::make_unique<Square>(15)); figures.push_back(std::make_unique<Parallelogram>(10, 20, 70, 110)); figures.push_back(std::make_unique<Rhombus>(15, 80, 100)); } catch(const FigureException& e) { std::cout << e.getDetails() << '\n'; } for (const auto& figure : figures) { figure->print_info(); } return 0; }