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ą?