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.

Podobne dokumenty