Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <Windows.h>
- using namespace std;
- class TIME
- {
- int* hour, * minute, * sec;
- public:
- TIME(int a, int b, int c) //конструктор с вводом часов, минут и секунд
- {
- hour = new int(a);
- minute = new int(b);
- sec = new int(c);
- if (*sec >= 60)
- {
- *minute = *minute + *sec / 60;
- *sec = *sec - (60 * (*sec / 60));
- }
- if (*minute >= 60)
- {
- *hour = *hour + *minute / 60;
- *minute = *minute - (60 * (*minute / 60));
- }
- // cout << "введено время" << *hour << *minute << *sec << endl;
- }
- TIME(int a) //конструктор с вводом только секунд
- {
- hour = new int;
- minute = new int;
- sec = new int;
- *hour = a / 3600;
- *minute = (a - (*hour * 3600)) / 60;
- *sec = a - (*hour * 3600) - (*minute * 60);
- if (*sec >= 60)
- {
- *minute = *minute + *sec / 60;
- *sec = *sec - (60 * (*sec / 60));
- }
- if (*minute >= 60)
- {
- *hour = *hour + *minute / 60;
- *minute = *minute - (60 * (*minute / 60));
- }
- //cout << "введено время" << *hour << *minute << *sec << endl;
- }
- TIME()
- {
- hour = new int(0);
- minute = new int(0);
- sec = new int(0);
- }
- TIME(const TIME& obj) //конструктор копирования
- {
- hour = new int;
- minute = new int;
- sec = new int;
- *hour = *(obj.hour);
- *minute = *(obj.minute);
- *sec = *(obj.sec);
- }
- ~TIME()
- {
- delete hour;
- delete minute;
- delete sec;
- }
- void ShowTime()
- {
- cout << *hour << ":" << *minute << ":" << *sec;
- }
- TIME operator+(const TIME obj)
- {
- return TIME(*hour + *obj.hour, *minute + *obj.minute, *sec + *obj.sec);
- }
- TIME& operator=(const TIME& obj)
- {
- *sec = *obj.sec;
- *hour = *obj.hour;
- *minute = *obj.minute;
- return *this;
- };
- };
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- TIME A(10, 30, 65);
- A.ShowTime();
- cout << endl;
- TIME B(3600);
- B.ShowTime();
- cout << endl;
- TIME C;
- C = A + B;
- C.ShowTime();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement