Advertisement
Guest User

2

a guest
Nov 20th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.11 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. class punkt
  6. {
  7.     double X,Y,Z;
  8.  
  9.  
  10.  
  11. public:
  12.  
  13.     punkt() : X(0), Y(0), Z(0) {}
  14.  
  15.     punkt(const double & x, const double & y, const double & z) :
  16.             X(x), Y(y), Z(z) {}
  17.  
  18.  
  19.     const double x() const
  20.     {
  21.         return X;
  22.     }
  23.  
  24.  
  25.     double & x()
  26.     {
  27.         return X;
  28.     }
  29.  
  30.  
  31.     const double y() const
  32.     {
  33.         return Y;
  34.     }
  35.  
  36.     double & y()
  37.     {
  38.         return Y;
  39.     }
  40.  
  41.  
  42.     const double z() const
  43.     {
  44.         return Z;
  45.     }
  46.  
  47.  
  48.     double & z()
  49.     {
  50.         return Z;
  51.     }
  52.  
  53.  
  54. };
  55.  
  56.  
  57. class prostokat
  58. {
  59.     punkt P;
  60.     double A,B;
  61.  
  62. public:
  63.  
  64.     prostokat(): P(), A(0), B(0) {}
  65.  
  66.  
  67.     prostokat(const double &x, const double &y, const double &z, const double &a, const double &b):
  68.         P(x,y,z), A(a), B(b){}
  69.  
  70.  
  71.     prostokat(const punkt &p, const double &a, const double &b):
  72.         P(p), A(a), B(b){}
  73.  
  74.  
  75.     const double  x() const
  76.     {
  77.         return P.x();
  78.     }
  79.  
  80.  
  81.     double  &x()
  82.     {
  83.         return P.x();
  84.     }
  85.  
  86.  
  87.     const double y() const
  88.     {
  89.         return P.y();
  90.     }
  91.  
  92.  
  93.     double &y()
  94.     {
  95.         return P.y();
  96.     }
  97.  
  98.  
  99.     const double z() const
  100.     {
  101.         return P.z();
  102.     }
  103.  
  104.     double &z()
  105.     {
  106.         return P.z();
  107.     }
  108.  
  109.  
  110.     const double a() const
  111.     {
  112.         return A;
  113.     }
  114.  
  115.     double &a()
  116.     {
  117.         return A;
  118.     }
  119.  
  120.  
  121.     const double b() const
  122.     {
  123.         return B;
  124.     }
  125.  
  126.     double &b()
  127.     {
  128.         return B;
  129.     }
  130.  
  131.     const double pole() const
  132.     {
  133.         return A*B;
  134.     }
  135. };
  136.  
  137.  
  138. class graniastoslup
  139. {
  140.     prostokat PR;
  141.     double H;
  142.  
  143. public:
  144.  
  145.     graniastoslup(): PR(), H(0) {}
  146.  
  147.     graniastoslup(const double &x, const double &y, const double &z, const double &a, const double &b, const double &h ):
  148.             PR(x,y,z,a,b), H(h) {}
  149.  
  150.     graniastoslup(const punkt &p, const double &a, const double &b, const double &h):
  151.             PR(p,a,b), H(h) {}
  152.  
  153.     graniastoslup(const prostokat &pr, const double &h):
  154.             PR(pr), H(h) {}
  155.  
  156.  
  157.     double &x()
  158.     {
  159.         return PR.x();
  160.     }
  161.  
  162.     const double x() const
  163.     {
  164.         return PR.x();
  165.     }
  166.  
  167.     double &y()
  168.     {
  169.         return PR.y();
  170.     }
  171.  
  172.     const double y() const
  173.     {
  174.         return PR.y();
  175.     }
  176.  
  177.  
  178.     double &z()
  179.     {
  180.         return PR.z();
  181.     }
  182.  
  183.  
  184.     const double z() const
  185.     {
  186.         return PR.z();
  187.     }
  188.  
  189.  
  190.     double &a()
  191.     {
  192.         return PR.a();
  193.     }
  194.  
  195.  
  196.     const double a() const
  197.     {
  198.         return PR.a();
  199.     }
  200.  
  201.  
  202.     double &b()
  203.     {
  204.         return PR.b();
  205.     }
  206.  
  207.     const double b() const
  208.     {
  209.         return PR.b();
  210.     }
  211.  
  212.     double &h()
  213.     {
  214.         return H;
  215.     }
  216.  
  217.     const double h() const
  218.     {
  219.         return H;
  220.     }
  221.  
  222.     const double objetosc() const
  223.     {
  224.         return (PR.pole()*H);
  225.     }
  226.  
  227. };
  228.  
  229.  
  230.  
  231. int main()
  232. {
  233.     punkt p1, p2(1,2,3);
  234.     const punkt p3(1.1,2.2,3.3);
  235.  
  236.     cout << p3.x() << '\t' << p3.y() << '\t' << p3.z() << endl;
  237.     cout << p2.x() << '\t' << p2.y() << '\t' << p2.z() << endl;
  238.  
  239.     p1.x()=1; p1.y()=10; p1.z()=100;
  240.     cout << p1.x() << '\t' << p1.y() << '\t' << p1.z() << endl;
  241.  
  242.     prostokat pr1, pr2(1,2,3,10.5, 20.5);
  243.     const prostokat pr3(p2,5,5);
  244.  
  245.     cout << pr3.x() << '\t' << pr3.y() << '\t' << pr3.z() << '\n'
  246.          << pr3.a() << '\t' << pr3.b() << '\n'
  247.          << pr3.pole() << '\n' ;
  248.  
  249.     pr1.x()=2; pr1.y()=20; pr1.z()=200; pr1.a()= 10; pr1.b()=10;
  250.  
  251.     cout << pr1.x() << '\t' << pr1.y() << '\t' << pr1.z() << '\n'
  252.          << pr1.a() << '\t' << pr1.b() << '\n'
  253.          << pr1.pole() << '\n' ;
  254.  
  255.  
  256.     graniastoslup g1, g2(1,2,3,10.5,20.5,30.5), g3(p2,100,200,300);
  257.     const graniastoslup g4(pr3,5);
  258.  
  259.     cout << g4.x() << '\t' << g4.y() << '\t' << g4.z() << '\n'
  260.          << g4.a() << '\t' << g4.b() << '\t' << g4.h() << '\n'
  261.          << g4.objetosc() << '\n' ;
  262.  
  263.     g1.a()=10; g1.b()=10; g1.h()=10;
  264.  
  265.     cout << g1.x() << '\t' << g1.y() << '\t' << g1.z() << '\n'
  266.          << g1.a() << '\t' << g1.b() << '\t' << g1.h() << '\n'
  267.          << g1.objetosc() << '\n' ;
  268.  
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement