Programowanie obiektowe - Ćwiczenia 2

Powtórka z języka C cd

1) (1 punkt) Zaimplementuj strukturę „pudełko” posiadającą pola:

− nazwa

− wysokość

− szerokość

− długość

− objętość

Dobierz odpowiednie typy dla poszczególnych zmiennych. Zdefiniuj nowy typ o nazwie PUDEŁKO. Utwórz zmienną typu PUDEŁKO i wypełnij ją przykładowymi informacjami.

Napisz funkcję o nazwie „Wypisz”, do której przekazywana jest zmienna typu PUDEŁKO przez wartość. Funkcja ta niech wypisuje poszczególne pola zmiennej.

Następnie stwórz funkcję o nazwie „Zmień”, do której przekazywana jest zmienna typu PUDEŁKO

przez referencję. Funkcja ta niech modyfikuje niektóre pola.

Napisz prosty program wykorzystujący obie funkcje i prezentujący ich działanie.

2) (2 punkty) Stwórz funkcję „PudelkoWPudelku”. Jako argumenty przyjmuje ona przez referencje dwie zmienne typu PUDEŁKO, a następnie sprawdza czy jedno z pudełek może zmieścić się do drugiego. Jeżeli tak, funkcja zwraca referencję do większego pudełka. Jeśli nie, zwraca NULL.

3) (2 punkty) Stwórz strukturę reprezentującą datę o nazwie „Data”. Niech zawiera pola: rok, miesiąc i dzień. Stwórz nowy typ danych na podstawie struktury „Data”. Zaimplementuj funkcje:

– wczytywania daty z klawiatury

– wypisywania daty na ekran

– inicjalizacji zmiennej typu data na 1970-01-01

– spróbuj zaimplementować 3 warianty: Wypisz(Data), Wypisz(Data&) i Wypisz(const Data&). Które warianty są poprawne? Czy któryś wariant powoduje, że kompilator tworzy tymczasową zmienną?