Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
29
Добавлен:
18.03.2015
Размер:
1.59 Кб
Скачать
#ifndef DATE_H_
#define DATE_H_

#include <fstream>
#include <iomanip>
using namespace std;

enum Month {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG,
			SEP, OCT, NOV, DEC, MONTHS = 12};

struct Date
{
	int dd;
	Month mm;
	int yyyy;
};



/* Функция для определения, является ли год переданной даты високосным */
bool isLeapYear(const Date& pDate);

/* Функция возвращает структуру типа Date, содержащую текущую дату */
Date getCurrentDate();

/* Префиксный инкремент. Увеличивает дату на 1 день,
   возвращая ссылку на свой параметр */
Date& operator ++ (Date& date);

/* Постфиксный инкремент. Увеличивает дату на 1 день,
   возвращая копию старого значения */
Date operator ++ (Date& date, int);


/* Префиксный декремент. Уменьшает дату на 1 день,
   возвращая ссылку на свой параметр */
Date& operator -- (Date& date);

/* Постфиксный декремент. Уменьшает дату на 1 день,
   возвращая копию старого значения */
Date operator -- (Date& date, int);


/* Операция вывода даты в поток в формате dd.mm.yyyy */
ostream& operator << (ostream& os, const Date& date);

/* Операция ввода даты из потока в формате dd?mm?yyyy
   через символ точки, слеша, тире и некоторых других */
istream& operator >> (istream& is, Date& d);

/* Операции сравнения. Та дата меньше, которая хронологически раньше */

bool operator <  (const Date& date1, const Date& date2);
bool operator >  (const Date& date1, const Date& date2);
bool operator == (const Date& date1, const Date& date2);
bool operator != (const Date& date1, const Date& date2);



#endif
Соседние файлы в папке 06_operator_overloading
  • #
    18.03.20154.18 Кб29CppProject.vcxproj
  • #
    18.03.20151.16 Кб30CppProject.vcxproj.filters
  • #
    18.03.2015143 б29CppProject.vcxproj.user
  • #
    18.03.20156.81 Mб29CppProjec_t.sdf
  • #
    18.03.20152.37 Кб29Date.cpp
  • #
    18.03.20151.59 Кб29Date.h
  • #
    18.03.2015177 б29main.cpp