Advertisement
evcamels

lr-4

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