Advertisement
Guest User

Untitled

a guest
Sep 25th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.38 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class time{
  6. private:
  7.     int h, m, s;
  8. public:
  9.     time(): h(0), m(0), s(0) //конструктор без параметров
  10.     {
  11.         cout << "Конструктор без параметров" << endl;
  12.     }
  13.  
  14.     time(int hh, int mm, int ss) //Конструктор с параметрами
  15.     {
  16.         cout << "Конструктор с параметрами" << endl;
  17.         h = hh;
  18.         m = mm;
  19.         s = ss;
  20.     }
  21.  
  22.     time (const time &t) //конструктор копирования
  23.     {
  24.         h = t.h;
  25.         m = t.m;
  26.         s = t.m;
  27.  
  28.         cout << "Конструктор копирования" << endl;
  29.     }
  30.  
  31.     ~time() //деструктор
  32.     {
  33.         cout << "Деструктор сработал" << endl;
  34.        
  35.         system("pause");
  36.     }
  37.  
  38.     //ф-и получения полей
  39.     int GetH(){return h;}
  40.     int GetM(){return m;}
  41.     int GetS(){return s;}
  42.  
  43.     void Show()
  44.     {
  45.         cout << endl;
  46.         cout << "h: " << h << endl;
  47.         cout << "m: " << m << endl;
  48.         cout << "s: " << s << endl;
  49.         cout << endl;
  50.     }
  51.  
  52.     //ф-и заполнения полей
  53.     void SetH(int H) {h = H;}
  54.     void SetM(int M) {m = M;}
  55.     void SetS(int S) {s = S;}
  56.  
  57.     void Set(int H, int M, int S)
  58.     {
  59.         h = H;
  60.         m = M;
  61.         s = S;
  62.     }
  63.  
  64.     int func1() //функция 1. Количество секунд во времени
  65.     {
  66.         int sec = 0;
  67.  
  68.         sec += s; //добавляем секунды
  69.         sec += m*60; //добавляем минуты (переведенные в секунды)
  70.         sec += h*3600; //добавляем часы (переведенные в секунды)
  71.  
  72.         return sec; //возвращается сумма в секундах
  73.     }
  74.  
  75.     void func2() //ф-я 2: увеличение врмени на 5 сек.
  76.     {
  77.         s += 5; //к секундам добавляем 5
  78.  
  79.         if(s >= 60) //если вышла за границы
  80.         {
  81.             s -= 60; //отнимаем 60 сек. (переводим в минуту)
  82.             m += 1; //добавляем минуту
  83.             if(m == 60) //если вышли за границы минут
  84.             {
  85.                 m = 0;//обнуляем минуты (переводим в час)
  86.                 h += 1; //добавляем час
  87.                 if(h == 24) //если вышли за границы часов
  88.                     h = 0; //обнуляем
  89.             }
  90.         }
  91.     }
  92. };
  93.  
  94. int main()
  95. {
  96.     setlocale(0,""); //подключение кириллицы
  97.  
  98.     time t1; //создаем т1 (используется конструктор без параметра)
  99.     t1.Show(); //вывод т1
  100.  
  101.     time t2(23,59,58); //создание т2 (конструктор с параметрами)
  102.     t2.Show();//вывод т2
  103.  
  104.     time t3 = t1; //т3 - конструктор копирования
  105.     t3.Show(); //вывод
  106.  
  107.     cout << "Func1(): " << t1.func1() << endl; //выполнение и вывод функции1
  108.  
  109.     cout << "Func2(): " << endl;
  110.     t2.func2(); //вызов функции 2
  111.     t2.Show(); //вывод результата (измененное время функцией2)
  112.  
  113.     system("pause");
  114.     return 0;
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement