Programowanie 2. Lista zadań 3. 1 Zadanie 1. Napisać program

Transkrypt

Programowanie 2. Lista zadań 3. 1 Zadanie 1. Napisać program
Programowanie 2. Lista zadań 3.
Zadanie 1. Napisać program ilustrujący następujące własności unii:
1. Unię moŜna definiować bez nazwy (anonimowe). Anonimowe unie nie mogą mieć elementów
private, protected, zawierać metod.
2. Unie nie mogą dziedziczyć od klas, struktur.
3. Domyślny typ dostępu w unii jest public.
4. Atrybuty unii nie mogą być inicjowane w unii.
Inicjowanie atrybutów moŜe odbywać za pomocą konstruktorów.
5. Unia nie moŜe zawierać referencji, obiektów.
Rozwiązanie: cw03-01-uniaWlasnosci.cpp
Zadanie 2. Sprawdzić wielkość struktury, funkcją sizeof(), gdy struktura ma
(a)
trzy atrybuty typu int, double, char,
(b)
tablicę double t[100],
(c)
dwie funkcje double f1(), double f2(),
(d)
dwa atrybuty typu int, int, jedną funkcję void f(int).
Rozwiązanie: cw03-02-wielkoscStruktury.cpp
Zadanie 3. Sprawdzić następujące własności struktury
1. Domyślny typ dostępu do elementów struktury jest public.
2. Struktura moŜe zawierać konstruktora, destruktora.
3. Struktura moŜe dziedziczyć od struktury, klasy.
4. W strukturze nie moŜna inicjować zmiennych.
5. W strukturze moŜna inicjować zmienne typu static const.
Rozwiązanie: Programowanie2-cpp-Wyklad-03.pdf, cw03-03-struktura.cpp
Zadanie 4. Zdefiniować w klasie, w obszarze private, wskaźnik. Za pomocą konstruktora umieścić go na stercie.
Zdefiniować dwie metody, w obszarze public, słuŜące do czytania i zmiany wartości wskaźnika.
Za pomocą zdefiniowanych metod wykonać operacje na wskaźniku.
Rozwiązanie: cw03-04-klasaAtrybuty.cpp
Zadanie 5. Napisać program ilustrujący typy dostępu do elementów klasy public, protected, private.
Rozwiązanie: Programowanie2-cpp-Wyklad-03.pdf
Zadanie 6. Pokazać, Ŝe nie moŜna utworzyć obiektu, tablicy obiektów, obiektu na stercie jeŜeli w klasie jest
zdefiniowany przeładowany konstruktor i brak jest jawnej postaci konstruktora domyślnego.
Rozwiązanie: cw03-06a-konstruktor.cpp
Zadanie 7. Zdefiniować klasę z trzema atrybutami typu int, char, char *, i przeładowanymi
konstruktorami które inicjują zdefiniowane atrybuty. Zdefiniować konstruktora kopiującego i destruktora.
Rozwiązanie: cw03-07a-typyKonstruktorow.cpp
Zadanie 8. Napisać program ilustrujący przekazanie do argumentu metody obiektu i referencji do obiektu.
Rozwiązanie: cw03-08a-przekazanieObiektu-Adresu.cpp
Zadanie 9. Metody const. Pokazać, Ŝe
• metoda typu const nie moŜe zmieniać wartości atrybutów klasy.
• obiekty typu const nie mogą wywoływać metod nie const.
Rozwiązanie: cw03-09-metodyConst.cpp
Zadanie 10. Metody static. Pokazać, Ŝe
• metoda typu static nie ma dostępu do zmiennych, metod nie static,
• metody static moŜna wywoływać bez obiektu.
Rozwiązanie: cw03-10-metodyStatic.cpp
1