Wskaźnik na pole w klasie

0

Witam, stworzyłem sobie klasę w której mam wskaźnik na pole

class zespolone
{
public:
	zespolone(double rzeczywista, double urojona);
	~zespolone();
	zespolone();
	zespolone(zespolone&zesp);
	friend std::ostream& operator << (std::ostream&wyjscie,zespolone const&zesp);
private:
	double *rzeczywista;
	double *urojona;
};

std::ostream& operator<<(std::ostream & wyjscie, zespolone  & zesp)
{
	wyjscie << &zesp.rzeczywista << "+" << &zesp.urojona << "i\n";
	return wyjscie;
}

i mam problem, nie wiem jak mam się dostać do wartości przechowywanej w polu rzeczywista/urojona (mam na myśli że jak już mam utworzony obiekt, problem jest w przeciążeniu). Swoje pomysły wyczerpałem niestety, liczę na pomoc

2

Dereferencję wskaźnika wykonujesz za pomocą *, a nie &. W Twoim kodzie wypisujesz adres wskaźnika.

wyjscie << *zesp.rzeczywista << "+" << *zesp.urojona << "i\n";

Przy okazji: czemu wymuszasz nową linię? Łamiesz zasadę SRP, co jeśli będziesz chciał wypisać wartość bez nowej linii?

I dodatkowo: po co w ogóle tutaj wskaźniki? Nawet jak chcesz poćwieczyć ich użycie to jest to zły przykład.

1 użytkowników online, w tym zalogowanych: 0, gości: 1