Задача 13
Задача 13: Создайте класс, который будет содержать информацию о дате (день, месяц, год). С помощью механизма перегрузки операторов, определите операцию разности двух дат (результат в виде количества дней между датами), а также операцию увеличения даты на определенное количество дней.
/*
* Created on January 12, 2011, 11:38 AM
*/
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <cstdio>
using namespace std;
class myClassDate {
struct tm *initime;
time_t rawtime;
struct mydate {
int my_day;
int my_mon;
int my_year;
} myinitdate;
public:
myClassDate();//конструктор
myClassDate(const myClassDate &c){};//конструктор копирования
~myClassDate(){};//деструктор
myClassDate operator-(const myClassDate &N)
{
myClassDate temp;
temp.myinitdate.my_day=myinitdate.my_day-N.myinitdate.my_day;
//temp.dig=dig-N.dig;
return temp;
}
void printdate(){cout<<myinitdate.my_day<<myinitdate.my_mon<<myinitdate.my_year<<"\n"; };
void addday(int days);
};
myClassDate::myClassDate() {
rawtime = time (NULL);
initime = localtime (&rawtime);
myinitdate.my_day=initime->tm_mday;
myinitdate.my_mon=initime->tm_mon;
myinitdate.my_year=initime->tm_year;
}
void myClassDate::addday(int days) {
if (myinitdate.my_day+days>31) cout<<"Error! myinitdate.my_day+days>31"<<"\n";
else myinitdate.my_day+=days;
}
int main(int argc, char** argv) {
myClassDate A,B,C;
A.printdate();
A.addday(40); //Error
A.addday(5);
A.printdate();
//разность двух дат
B.printdate();
C=A-B;
C.printdate();
return (EXIT_SUCCESS);
}
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга