Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //h
- #pragma once
- class Figure
- {
- public:
- virtual void Show() = 0;
- virtual double Square() = 0;
- virtual double Perimeter() = 0;
- };
- class Rectangle: public Figure
- {
- protected:
- double a;
- double b;
- public:
- Rectangle();
- Rectangle(double x, double y);
- void Show();
- double Square();
- double Perimeter();
- };
- class Circle: public Figure
- {
- protected:
- double r;
- public:
- Circle();
- Circle(double x);
- void Show();
- double Square();
- double Perimeter();
- };
- class Triangle: public Figure
- {
- protected:
- double a;
- double b;
- double c;
- public:
- Triangle();
- Triangle(double x, double y, double z);
- void Show();
- double Square();
- double Perimeter();
- };
- //cpp
- #include "Figure.h"
- #include <iostream>
- using namespace std;
- Rectangle:: Rectangle(): a(0), b(0)
- {
- }
- Rectangle::Rectangle(double x, double y): a(x), b(y)
- {
- }
- void Rectangle::Show()
- {
- cout << "the length of the rectangle is: " << a << endl;
- cout << "the width of the rectangle is: " << b << endl;
- }
- double Rectangle:: Square()
- {
- return a * b;
- }
- double Rectangle::Perimeter()
- {
- return a + b;
- }
- Circle::Circle(): r(0)
- {
- }
- Circle::Circle(double x): r(x)
- {
- }
- void Circle::Show()
- {
- cout <<"Radius circle is: " << r << endl;
- }
- double Circle::Square()
- {
- double pi = 3.14;
- return r * r * pi;
- }
- double Circle::Perimeter()
- {
- double pi = 3.14;
- return 2 * pi * r;
- }
- Triangle::Triangle(): a(0), b(0), c(0)
- {
- }
- Triangle::Triangle(double x, double y, double z): a(x), b(y), c(z)
- {
- }
- void Triangle::Show()
- {
- cout << "Sides of the triangle are: " << a << ", " << b << ", " << c << endl;
- }
- double Triangle::Square()
- {
- double p = (a + b + c)/2;
- return sqrt( p * (p - a) * (p - b) * (p - c));
- }
- double Triangle::Perimeter()
- {
- return a + b + c;
- }
- //main
- #pragma once
- #include <iostream>
- #include "Figure.h"
- using namespace std;
- int main()
- {
- Figure *figures [9];
- figures[0] = new Rectangle (2, 5);
- figures[1] = new Circle (2);
- figures[2] = new Circle (10);
- figures[3] = new Rectangle (12.5, 7);
- figures[4] = new Circle (25);
- figures[5] = new Rectangle (6, 43);
- figures[6] = new Triangle (9, 5, 9);
- figures[7] = new Triangle (3, 4, 5);
- figures[8] = new Triangle (28, 29, 50);
- for(int i = 0; i < 9; i++)
- {
- figures[i] -> Show();
- cout << "Square of figure is: " << figures[i] -> Square() << endl
- << "Peremeter of figure is: " << figures[i] -> Perimeter() << endl << endl;
- }
- for(int i = 0; i < 9; i++)
- {
- delete figures[i];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement