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.