Advertisement
Guest User

Untitled

a guest
May 26th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <iomanip>
  4. #include <stdio.h>
  5. #include <math.h>
  6. #include <conio.h>
  7.  
  8. using namespace std;
  9.  
  10. class GeometricalBody           //класс геометрическое тело
  11. {
  12.     protected: std::string name;    //класс содержит защищенную переменную name типа string
  13.     public: GeometricalBody()
  14.             {
  15.                 this -> name = "Default name"; 
  16.             }
  17.     public: GeometricalBody(std::string name)
  18.             {
  19.                 this -> name = name;            //хранят наименование объекта этого класса
  20.             }
  21.     public: void print()
  22.             {
  23.                 cout << this -> name;           //член-функция print() для вывода на экран этого наименования
  24.             }
  25. };
  26.  
  27. class Prism_Inscribed_Rectilineal_Triangular : GeometricalBody  //прямая призма с основанием в виде равнобедренного треугольника, вписанного в окружность
  28. {
  29.     private: double a;         
  30.  
  31.     public: void  Init(double a, std::string name)  //метод Init() для инициализации членов-данных класса
  32.             {
  33.                 this -> a = a;
  34.                 this -> name = name;
  35.             }
  36.    
  37.     public: double BaseArea()
  38.             {
  39.                 return ((a*a)*(sqrt((double)(3/4))));
  40.             }
  41.  
  42.     public: double SideArea()
  43.             {
  44.                 return ((a+a+a)*a);
  45.             }
  46.  
  47.     public: double FullArea()
  48.             {
  49.  
  50.                 return Prism_Inscribed_Rectilineal_Triangular::BaseArea() +
  51.                        Prism_Inscribed_Rectilineal_Triangular::BaseArea() +
  52.                        Prism_Inscribed_Rectilineal_Triangular::SideArea();
  53.             }
  54. };
  55.  
  56. void main()
  57. {
  58.     //раннее связывание
  59.     Prism_Inscribed_Rectilineal_Triangular prism_static;
  60.     prism_static.Init(5,"Parametr1");
  61.     cout << "Full area: " << prism_static.FullArea() << endl << "Size area: " << prism_static.SideArea() << endl << endl;
  62.    
  63.     //позднее связывание
  64.     Prism_Inscribed_Rectilineal_Triangular *prism_dinamic = new Prism_Inscribed_Rectilineal_Triangular();
  65.     prism_dinamic -> Init(8,"Parametr2");
  66.     cout << "Full area (index): " << prism_dinamic -> FullArea() << endl << "Size area: " << prism_dinamic -> SideArea() << endl << endl;
  67.  
  68.     getch();
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement