Programowanie obiektowe 2 – Kolokwium

Transkrypt

Programowanie obiektowe 2 – Kolokwium
Studia zaoczne, 2013/2014
Zestaw B
Programowanie obiektowe 2 – Kolokwium
Zadanie 1
Utworzyć klasę bazową Osoba (imie, nazwisko, pesel) dziedziczące z niej klasy Student (nrIndeksu) i
Rencista (wysokoscRenty).
Wszystkie klasy powinny zawierać konstruktory, funkcje do wczytywania i wypisywania.
Program testujący powinien:
· utworzyć 3 obiekty odpowiednio klasy Osoba, Student i Rencista,
· wczytać dane dla poszczególnych obiektów i obsłużyć wyjątki związane z niepoprawnymi danymi,
· wypisać dane tych obiektów.
MOŻNA KORZYSTAĆ Z KONTENERÓW Z BIBLIOTEKI STL.
Zadanie 2.
Opracować szablon klasy reprezentującej listę jednokierunkową z jednym parametrem oznaczającym
typ danych przechowywanych w węzłach listy. Szablon ma zawierać:
 Definicję własnego, prywatnego typu węzła,
 Konstruktor inicjujący listę pustą,
 Konstruktor inicjujący listę z jednym węzłem danych,
 Destruktor,
 Funkcję składową print, przeznaczoną do drukowania listy.
 Operator << przeznaczony do wstawiania elementu do listy
 Operator << przeznaczony do konkatenacji list w postaci
Lista& operator<<(Lista&),
Przetestować opracowaną klasę dla następującego programu:
int main()
{
Lista<double> L1, A1(1.75), B1(-2.45), C1(12.4);
L1 << A1 << B1 << C1 << A1;
L1.print("Lista 1: liczby typu double");
Lista<double> L2(0.75);
L2 << L1;
L2.print("Lista 2: liczby typu double");
return 0;
}
Zadanie 3.
Opracuj klasę Tablica z dynamiczną alokacją pamięci. Klasa powinna umożliwiać przechowywanie
zestawu wartości typu double. Inicjowanie obiektów typu Tablica:
Tablica a; // tworzona jest tablica pusta
Tablica b(10, 0); // tworzona jest tablica 10 elementów o wartości 0
Tablica c(T, 5); // tworzona jest tablica o pięciu elementach
// zainicjowana tablicą T
Klasa powinna posiadać konstruktor kopiujący, przeciążony operator przypisania, operator
indeksowania.
Napisz krótki program testujący opracowaną klasę.