PO kolokwium 1A
Transkrypt
PO kolokwium 1A
PO Kolokwium 1 2014/2015 grupa A Zadanie 1 (7p) a) Opracuj klasę Zesp, która pozwala przechowywać liczby zespolone. Należy tak przeciążyć operatory „>>” i „<<”, aby obiekty tej klasy były wprowadzane i wyprowadzane w postaci: 5+7*i, czyli pierwsza liczba, znak plus, druga liczba, napis „*i”. Przykład takiej klasy przedstawiono poniżej: class Zesp { int re; // część rzeczywista int im; // część urojona public: Zesp(); Zesp(int nowere, int noweim); friend istream & operator>> (istream& we, Zesp& liczba); friend ostream & operator<< (ostream& wy, Zesp& liczba); }; b) Uzupełnij klasę Zesp o przeciążony operator + , który oblicza sumę liczb zespolonych według wzoru: a+b*i + c+d*i = (a+c)+ (b+d)*i c) Uzupełnij klasę Zesp o przeciążony operator * , który oblicza iloczyn liczb zespolonych według wzoru: (a + b*i) *(c + d*i) = (a*c – b*d) + (a*d +b*c) *i Opracuj program testowy dla tej klasy. Zadanie 2 (8p). Opracuj klasę TablicaPlyt, która pozwala administrować zbiorem obiektów klasy TPlyta. W klasie TPlyta przechowywana jest informacja o płycie w postaci nazwisko/nazwa wykonawcy, tytuł płyty i cena. W klasie TablicaPlyt przechowywane są tablice obiektów typu TPlyta. Klasy mają umożliwiać w szczególności: − inicjowanie opisu płyty za pomocą konstruktora TPlyta p1("Bach","Fuga",22.50) − dodawanie płyty do tablicy płyt za pomocą przeciążonego operatora + , przykład: TablicaPlyt T(10); T + p1; − wyświetlanie zawartości obiektu wskazanego za pomocą indeksu w tablicy za pomocą przeciążonego operatora <<. Przykład: cout << T[2]; − usuwanie z tablicy płyty o wskazanym indeksie. Opracuj program testowy dla tej klasy.