Задача 2. Григорианский календарь

Основные требования.

Условие.

Дополнительные (обязательные) требования.

class Calendar {
    // ...
    Calendar  operator+ (const DateInterval &) const;
    Calendar& operator+=(const DateInterval &);
    Calendar  operator- (const DateInterval &) const;
    Calendar& operator-=(const DateInterval &);
    // ...
};
class Calendar {
    // ...
    Calendar& operator++(); // prefix increment
    Calendar  operator++(int); // postfix increment
    Calendar& operator--(); // prefix decrement
    Calendar  operator--(int); // postfix decrement
    // ...
};