1. Перегрузка операторов
Цель
Повторить основы перегрузки операторов.
Реализовать утилитарные классы для работы с временными интервалами.
cpp-labs
|-- src/libcsc/libcsc/time
| |-- time.cpp (опционально)
| `-- time.hpp
`-- test/libcsc/libcsc
`-- time.cpp
Ход работы
Создайте репозиторий для ЛР: Репозиторий и требования к ЛР
Реализуйте классы:
Time — момент времени.
TimeSpan — интервал.
Перегрузите операторы для реализации следующих операций:
Time - Time = TimeSpan
Time + TimeSpan = Time
Time - TimeSpan = Time
TimeSpan + TimeSpan = TimeSpan
TimeSpan - TimeSpan = TimeSpan
Перегрузите оператор << для вывода в формате: XXd XXh XXm XXs
(пример: 01d 23h 10m 11s`).
Реализуйте пользовательские литералы в пространестве имен
<your_namespace>::literals: _d, _h, _m, _s.
Перегрузите операторы сравнения. Если вы используете С++17, то операторы ==,
!=, <, <=, >, >=. Для С++20 достаточно определить оператор
<=>.