#include <iostream>
#include <windows.h>
using namespace std;
class numer;
class zespolona
{
double rzeczyw;
double urojon;
public:
zespolona(double r = 0, double i = 0) : rzeczyw(r), urojon(i)
{}
zespolona(numer ob);
zespolona dodaj(zespolona a, zespolona b)
{
zespolona suma;
suma.rzeczyw = a.rzeczyw + b.rzeczyw;
suma.urojon = a.urojon + b.urojon;
return suma;
}
friend void pokaz(const zespolona z);
};
void pokaz(const zespolona z)
{
cout << "Liczba zespolona: [" << z.rzeczyw << ", " << z.urojon << "] \n";
}
class numer
{
double n;
string opis;
friend zespolona::zespolona(numer);
public:
numer(int k, string t = "bez opisu") : n(k), opis(t)
{}
};
zespolona::zespolona(numer ob)
{
rzeczyw = ob.n;
urojon = 0;
}
int main()
{
numer num(4, "czworka");
zespolona z(10,9);
zespolona w;
w.dodaj(z,7.5);
w.dodaj(z,num);
pokaz(w);
return 0;
}
Jak sprawić aby metoda dodaj zwracała referencję ? Bo mam zwracanie rezultatu przez wartość i potem w metodzie pokaż już nie ma tego obiektu.