From c59117e53ade3d95ec13214ef3b8e81f9f5d9c7d Mon Sep 17 00:00:00 2001 From: manika88 Date: Tue, 31 Dec 2024 21:11:45 +0500 Subject: [PATCH] Update figures.hpp --- task2/figures.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/task2/figures.hpp b/task2/figures.hpp index 65a6110..2d20e75 100644 --- a/task2/figures.hpp +++ b/task2/figures.hpp @@ -19,23 +19,49 @@ class Figure { class Rect : public Figure { + public: + Rect(double a, double b); + double Perimeter() const override; + double Area()const override; + FigureType Type() const override; + private: + double a, b; + }; class Triangle : public Figure { +public: + Triangle(double a, double b, double c); + double Perimeter() const override; + double Area()const override; + FigureType Type() const override; +private: + double a, b, c; }; class Circle : public Figure { +public: + Circle(int r); + double Perimeter() const override; + double Area()const override; + FigureType Type() const override; +private: + int R; }; std::unique_ptr
make_figure(FigureType type, double a, double b = 0, double c = 0); class WrongTriangle : public std::invalid_argument { + public: + using std::invalid_argument::invalid_argument; }; class LessThanZeroParam : public std::invalid_argument { + public: + using std::invalid_argument::invalid_argument; };