Cześć, przygotowuje się do kolokwium i mam takie zadanie:
Zadeklarować klasę zespolona reprezentującą liczbę zespoloną, której części rzeczywista i
urojona przechowywane są wewnątrz klasy za pomocą zmiennych typu double. Zadeklarować
wszelkie potrzebne metody i operatory (patrz niżej), nie definiować metod ani operatorów.
2)
Zadeklarować klasę stos reprezentującą stos liczb zespolonych (LIFO). Dane wewnątrz klasy
mają być przechowywane wewnątrz tablicy dynamicznej (1 pkt.).
Zadeklarować wszelkie potrzebne metody i operatory (patrz niżej), zdefiniować:
- funkcję składową push, umieszczającą nowy element na stosie (jeżeli rozmiar tablicy jest
niewystarczający, to należy go podwoić) (1 pkt),
Nie wiem do końca czy poprawnie interpretuję treść zadania, napisałem coś takiego:
class zespolona
{
double re;
double im;
public:
zespolona();
~zespolona();
};
class stos
{
protected:
zespolona *dane;
int liczba_el; //liczba el stosu
int w; //wskaznik stosu
public:
stos(int n);
~stos();
void Push(const zespolona &z);
};
stos::stos(int n)
{
liczba_el = n;
w = 0;
dane = new zespolona[n];
}
void stos::Push(const zespolona &z)
{
if(w<liczba_el)
dane[w++] = z;
else cout << "Stos pełny!" <<endl;
}
Czy to jest poprawne rozumowanie? Jak powinienem zrealizować ten stos?