Cześć, mam takie zadanie:
Zaprojektować oraz zaimplementować klasę reprezentującą datę.
Klasa powinna zawierać następujące elementy:
-
trzy prywatne elementy typu całkowitego reprezentujące dzień, miesiąc oraz rok
-
jeden konstruktor:
Date(int day, int month, int year)
Konstruktor powinien sprawdzać czy dane wejściowe są odpowiednie (miesiąc nie może być większy niż 12 i mniejszy niż 1, itp).
Jeśli walidacja się nie uda wszystkie dane powinny być wyzerowane. -
operator + w dwóch wersjach
- dodawanie liczby całkowitej (1/1/2000 + 40 = 9/2/2000)
- dodawanie innej daty (1/1/2000 + 1/1/1 = 2/2/2001) -
operator += w takich samych dwóch wersjach
-
operator << zwracający stream w formacie "DD/MM/YY"
-
destruktor wyświetlający:
"Usunieto"
W funkcji main należy wykorzystać wszystkie operatory dodawania z danymi otrzymanymi od użytkownika, po każdej zmianie wyświetlając datę operatorem <<. To znaczy:
- Użytkownik podaje 1 1 2000
- Program wyświetla 1/1/2000
- Użytkownik podaje 10
- (operator+) Program wyświetla 11/1/2000
- Użytkownik podaje 1 1 1
- (operator+) Program wyświetla 12/2/2001
- Użytkownik podaje 10
- (operator+=) Program wyświetla 22/2/2001
- Użytkownik podaje 1 1 1
- (operator+=) Program wyświetla 23/3/2002
Typy danych wejściowych zawsze będą w takiej kolejności.
Niestety w ogóle nie mogę załapać tego tematu, czy ktoś mógłby pomóc? Z góry dziękuję :)