Advertisement
myname0

к реферату

Jun 28th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.53 KB | None | 0 0
  1. //h
  2. #pragma once
  3.  
  4. class Figure
  5. {
  6. public:
  7.     virtual void Show() = 0;
  8.     virtual double Square() = 0;
  9.     virtual double Perimeter() = 0;
  10. };
  11.  
  12. class Rectangle: public Figure
  13. {
  14. protected:
  15.      double a;
  16.      double b;
  17.  public:
  18.     Rectangle();
  19.     Rectangle(double x, double y);
  20.     void Show();
  21.     double Square();
  22.     double Perimeter();
  23. };
  24.  
  25. class Circle: public Figure
  26. {
  27. protected:
  28.     double r;
  29. public:
  30.     Circle();
  31.     Circle(double x);
  32.     void Show();
  33.     double Square();
  34.     double Perimeter();
  35. };
  36.  
  37. class Triangle: public Figure
  38. {
  39. protected:
  40.     double a;
  41.     double b;
  42.     double c;
  43. public:
  44.     Triangle();
  45.     Triangle(double x, double y, double z);
  46.     void Show();
  47.     double Square();
  48.     double Perimeter();
  49. };
  50. //cpp
  51. #include "Figure.h"
  52. #include <iostream>
  53.  
  54.  
  55. using namespace std;
  56.  
  57.  
  58. Rectangle:: Rectangle(): a(0), b(0)
  59. {
  60. }
  61.  
  62. Rectangle::Rectangle(double x, double y): a(x), b(y)
  63. {
  64. }
  65.  
  66. void Rectangle::Show()
  67. {
  68.     cout << "the length of the rectangle is: " << a << endl;
  69.     cout << "the width of the rectangle is: " << b << endl;
  70. }
  71.  
  72. double Rectangle:: Square()
  73. {
  74.     return a * b;
  75. }
  76.  
  77. double Rectangle::Perimeter()
  78. {
  79.     return a + b;
  80. }
  81.  
  82.  
  83. Circle::Circle(): r(0)
  84. {
  85. }
  86.  
  87. Circle::Circle(double x): r(x)
  88. {
  89. }
  90.  
  91. void Circle::Show()
  92. {
  93.     cout <<"Radius circle is: " << r << endl;
  94. }
  95.  
  96. double Circle::Square()
  97. {
  98.     double pi = 3.14;
  99.     return r * r * pi;
  100. }
  101.  
  102. double Circle::Perimeter()
  103. {
  104.     double pi = 3.14;
  105.     return 2 * pi * r;
  106. }
  107.  
  108.  
  109. Triangle::Triangle(): a(0), b(0), c(0)
  110. {
  111. }
  112.  
  113. Triangle::Triangle(double x, double y, double z): a(x), b(y), c(z)
  114. {
  115. }
  116.  
  117. void Triangle::Show()
  118. {
  119.     cout << "Sides of the triangle are: " << a << ", " << b << ", " << c << endl;
  120. }
  121.  
  122. double Triangle::Square()
  123. {
  124.     double p = (a + b + c)/2;
  125.     return sqrt( p * (p - a) * (p - b) * (p - c));
  126. }
  127.  
  128. double Triangle::Perimeter()
  129. {
  130.     return a + b + c;
  131. }
  132. //main
  133. #pragma once
  134. #include <iostream>
  135. #include "Figure.h"
  136.  
  137. using namespace std;
  138.  
  139. int main()
  140. {
  141.     Figure *figures [9];
  142.     figures[0] = new Rectangle (2, 5);
  143.     figures[1] = new Circle (2);
  144.     figures[2] = new Circle (10);
  145.     figures[3] = new Rectangle (12.5, 7);
  146.     figures[4] = new Circle (25);
  147.     figures[5] = new Rectangle (6, 43);
  148.     figures[6] = new Triangle (9, 5, 9);
  149.     figures[7] = new Triangle (3, 4, 5);
  150.     figures[8] = new Triangle (28, 29, 50);
  151.     for(int i = 0; i < 9; i++)
  152.     {
  153.         figures[i] -> Show();
  154.         cout << "Square of figure is: " << figures[i] -> Square() << endl
  155.             << "Peremeter of figure is: " << figures[i] -> Perimeter() << endl << endl;
  156.     }
  157.     for(int i = 0; i < 9; i++)
  158.     {
  159.         delete figures[i];
  160.     }
  161.     return 0;
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement