Advertisement
evcamels

lab3

Nov 2nd, 2021
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;//пространство имен
  3. class sq{ //класс прямоугольник
  4.     float a,b,h;
  5.     int x,y;
  6.     static int counter;
  7. public:
  8.     sq(void){
  9.         x=0;
  10.         y=0;
  11.         counter++;
  12.     }
  13.     sq(int _x, int _y){
  14.         x = _x;
  15.         y = _y;
  16.         counter++;
  17.     }
  18.     void set(float a, float b, float h){//функция для назначения переменных
  19.         this->a = a;
  20.         this->b = b;
  21.         this->h = h;
  22.     }
  23.     void _uvel(){//увеличение сторон прямоугольника
  24.         a*=h;
  25.         b*=h;
  26.     }
  27.     float _square()const{//площадь константный метод
  28.         return a*b;
  29.     }
  30.     float _perimeter()const{//периметр константный метод
  31.         return (a+b)*2;
  32.     }
  33.     float _diagonal()const{//диагональ константный метод
  34.         return sqrt(a*a + b*b);
  35.     }
  36.     static int getNumber(){
  37.         return counter;
  38.     }
  39.     ~sq(){
  40.         counter--;
  41.     }
  42. };
  43. int sq::counter=0;
  44. int main() {//главная функция
  45.     int n,m,h;
  46.     cout << "Введите стороны прямоугольника 1: ";
  47.     cin >> n >> m;
  48.     cout << "Введите во сколько раз увеличить стороны: ";
  49.     cin >> h;
  50.     sq s;//объект класса
  51.     sq pp;
  52.     sq pp1(3,33);
  53.     sq pp2;
  54.     int n1,m1,h1;
  55.     cout << "Введите стороны прямоугольника 2: ";
  56.     cin >> n1 >> m1;
  57.     cout << "Введите во сколько раз увеличить стороны: ";
  58.     cin >> h1;
  59.     cout << sq::getNumber() << endl;
  60.     cout << pp1.getNumber() << endl;
  61.     s.set(n,m,h);
  62.     s._uvel();
  63.     cout << "Площадь прямоугольника: " << s._square() << endl;//вывод константного метода
  64.     cout << "Периметр прямоугольнкиа: " << s._perimeter() << endl;//вывод константного метода
  65.     cout << "Диагональ прямоугольника: " << s._diagonal() << endl;//вывод константного метода
  66.     pp2.set(n1,m1,h1);
  67.     pp2._uvel();
  68.     cout << "Площадь прямоугольника: " << pp2._square() << endl;//вывод константного метода
  69.     cout << "Периметр прямоугольнкиа: " << pp2._perimeter() << endl;//вывод константного метода
  70.     cout << "Диагональ прямоугольника: " << pp2._diagonal() << endl;//вывод константного метода
  71.     return 0;
  72. }
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement