Czytelny podpis:…………………………………………………… nr
Transkrypt
Czytelny podpis:…………………………………………………… nr
Kolokwium z programowania obiektowego (DLI, 2 rok) gr. A Łódź, dn. 16 stycznia 2012 r. Czytelny podpis:…………………………………………………… nr albumu: ……………………… Zadanie 1 (4p). Wyjaśnij pojęcia związane z programowaniem obiektowym: Abstrakcja: Dziedziczenie: Zadanie 2 (3p) . Klasa Produkt ma następujące pola składowe: char* nazwa; double cena; Napisz definicje następujących metod dla tej klasy: Operator przypisania: Destruktor: Zadanie 3 (3p). Dla klasy Liczba o deklaracji podanej poniżej, utwórz : class Liczba { private: int w; public: Liczba(int _w); }; a) obiekt klasy Liczba: b) wskaźnik do istniejącego obiektu klasy Liczba: c) tablicę 10-ciu wskaźników do obiektów klasy Liczba: Zadanie 4 (4p). Dla klasy Liczba z zadania nr 3, przeładuj odpowiednie dwa operatory, aby możliwe było wykonanie następującego kodu: Liczba a(10); Liczba b(-5); cout << a + b; Zadanie 5 (5p). Napisz w C++ klasę RLiczba (deklarację i definicję), która rozszerza (dziedziczy w sposób publiczny) klasę Liczba z zadania nr 3 o pole x typu char*. W klasie RLiczba zdefiniować konstruktor z dwoma argumentami oraz destruktor. Konstruktor klasy RLiczba ma wywoływać konstruktor klasy macierzystej. RLiczba.h RLiczba.cpp Zadanie 6 (5p). Do klasy Liczba i RLiczba dopisz odpowiednią metodę o nazwie opis() (wypisującą wartości pól składowych) tak, aby korzystając z tej metody można było zobrazować mechanizm polimorfizmu. klasa Liczba klasa RLiczba Definicja: Definicja: Kod pokazujący działanie polimorfizmu: Zadanie 7 (2p). Napisz deklarację w C++ dowolnej klasy abstrakcyjnej.