evcamels

lr-4

Jan 17th, 2021
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.35 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. class VT {
  4. private:
  5.     double vt;
  6. public:
  7.     VT(double v) :vt(v) {};
  8.     void show() {
  9.         cout << vt << " BT" << endl;
  10.     }
  11.     double getznach() {
  12.         return vt;
  13.     }
  14. };
  15. class kVT {
  16. private:
  17.     double kvt;
  18. public:
  19.     kVT(double k) :kvt(k) {};
  20.     kVT(VT vt) {
  21.         kvt = vt.getznach() / 1000;
  22.     }
  23.     explicit operator VT() {
  24.         double h = kvt * 1000;
  25.         return VT(h);
  26.     }
  27.     void show() {
  28.         cout << kvt << " кBT" << endl;
  29.     }
  30. };
  31. class mVT {
  32. private:
  33.     double mvt;
  34. public:
  35.     mVT(double k) :mvt(k) {};
  36.     mVT(VT vt) {
  37.         mvt = vt.getznach() * 1000;
  38.     }
  39.     explicit operator VT() {
  40.         double h = mvt / 1000;
  41.         return VT(h);
  42.     }
  43.     void show() {
  44.         cout << mvt << " мBT" << endl;
  45.     }
  46. };
  47. class MVT {
  48. private:
  49.     double Mvt;
  50. public:
  51.     MVT(double k) :Mvt(k) {};
  52.     MVT(VT vt) {
  53.         Mvt = vt.getznach() / 1000000;
  54.     }
  55.     explicit operator VT() {
  56.         double h = Mvt * 1000000;
  57.         return VT(h);
  58.     }
  59.     void show() {
  60.         cout << Mvt << " МBT" << endl;
  61.     }
  62. };
  63. class mkVT {
  64. private:
  65.     double mkvt;
  66. public:
  67.     mkVT(double k) :mkvt(k) {};
  68.     mkVT(VT vt) {
  69.         mkvt = vt.getznach() * 1000000;
  70.     }
  71.     explicit operator VT() {
  72.         double h = mkvt / 1000000;
  73.         return VT(h);
  74.     }
  75.     void show() {
  76.         cout << mkvt << " мкBT" << endl;
  77.     }
  78. };
  79. class GVT {
  80. private:
  81.     double gvt;
  82. public:
  83.     GVT(double k) :gvt(k) {};
  84.     GVT(VT vt) {
  85.         gvt = vt.getznach() / 1000000000;
  86.     }
  87.     explicit operator VT() {
  88.         double h = gvt * 1000000000;
  89.         return VT(h);
  90.     }
  91.     void show() {
  92.         cout << gvt << " ГBT" << endl;
  93.     }
  94. };
  95. int main() {
  96.     kVT kvt(72);
  97.     kvt.show();
  98.     mVT mvt(620000);
  99.     mvt.show();
  100.     MVT Mvt(0.05);
  101.     Mvt.show();
  102.     mkVT mkvt(30000);
  103.     mkvt.show();
  104.     GVT gvt(0.0001);
  105.     gvt.show();
  106.     VT vt = (VT)kvt;
  107.     vt.show();
  108.     vt = (VT)mvt;
  109.     vt.show();
  110.     vt = (VT)Mvt;
  111.     vt.show();
  112.     vt = (VT)mkvt;
  113.     vt.show();
  114.     vt = (VT)gvt;
  115.     vt.show();
  116.     vt = 100000000;
  117.     vt.show();
  118.     kVT kvt_(vt);
  119.     kvt_.show();
  120.     GVT gvt_(vt);
  121.     gvt_.show();
  122.     vt = 0.05;
  123.     mVT mvt_(vt);
  124.     mvt_.show();
  125.     mkVT mkvt_(vt);
  126.     mkvt_.show();
  127.     return 0;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment