Witam mam napisać klasę która będzie realizować obliczenia na liczbach zespolonych.
class complex{
public:
int r,u;
complex (int x=0, int y=0)
{
r=x;
u=y;
}
};
Tak aktualnie wygląda klasa.
W mainie realizuje wczytanie dwóch liczb zespolonych kolejno są to liczba1 oraz liczba2.
analogicznie
cout << "Podaj wartosc czesci rzeczywistej pierwszej liczby: ";
cin >> r;
cout << "Podaj wartosc czesci urojonej pierwszej liczby: ";
cin >> u;
complex liczba1(r,u);
Chciałbym aby liczba3 była wynikiem przeprowadzonych działań. I tu zaczynają się schody moje przeładowanie + wygląda tak
complex operator+(const complex &liczba1,const complex &liczba2)
{
return complex(liczba1.r+liczba2.r, liczba1.u+liczba2.u);
}
później liczba3=liczba1+liczba2
no i wynik nie jest prawidłowy. Co robię nie tak? Zaznaczę że to moje pierwsze starcie z przeładowaniem operatorów. Proszę o pokierowanie mnie w dobrą stronę. Przyznam że nie interesują mnie wypowiedzi w stylu w sieci masz miliony kodów do programów realizujących ten problem, chce wiedzieć co konkretnie robię źle. Chyba tak czegoś się nauczę :)
Z góry dziękuje za pomoc!