przeciążenie operatorów w c++

0

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:

  1. Użytkownik podaje 1 1 2000
  2. Program wyświetla 1/1/2000
  3. Użytkownik podaje 10
  4. (operator+) Program wyświetla 11/1/2000
  5. Użytkownik podaje 1 1 1
  6. (operator+) Program wyświetla 12/2/2001
  7. Użytkownik podaje 10
  8. (operator+=) Program wyświetla 22/2/2001
  9. Użytkownik podaje 1 1 1
  10. (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ę :)

0

Jakbym umiała to bym napisała, nie proszę o napisanie tego za mnie, tylko o jakieś podpowiedzi, ale widocznie się nie da...

0
oleole napisał(a):

Jakbym umiała to bym napisała, nie proszę o napisanie tego za mnie, tylko o jakieś podpowiedzi, ale widocznie się nie da...

Wejdź tutaj, jeśli nie korzystasz z podręcznika do C++: http://cpp0x.pl/artykuly/?id=15
@fasadin Warto też dać jakiś materiał po polsku.

0

Dziękuję, z tej strony korzystam akurat najczęściej ;) i ten materiał już prawie na pamięć znam ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1