[C++]Metoda drukuj w klasie

0

Cześć.
Mam szybkie i pewnie trywialne pytanie. Wykładowca na wstępie do C++ dał nam pdf-a. Podczas nauki z niego zauważyłem, że nigdzie nie zdefiniował, ani nie zadeklarował metody drukuj(); dla klasy, a mimo to ją użył. Próbowałem samemu ją napisać, ale na pewno nie da się tego tak zrobić, jak chciałem.
Więc jak ją zdefiniować?

#include <iostream>
#include <cstdlib>

class zespolone
{
	int re, im;
	public:	
	zespolone(int, int);
	void drukuj();
	
	friend zespolone operator+(zespolone, zespolone );
};

zespolone::zespolone(int m, int n)
{
	re = m;
	im = n;
}

zespolone operator+(zespolone z3, zespolone z4)
{
	zespolone z5(0, 0);
	z5.re = z3.re + z4.re;
	z5.im = z3.im + z4.im;
	return z5;
}

void zespolone::drukuj()
{

/* -------------------- To jest zle ------------------------- */ 
	std::cout << "Wynik to: (" << zespolone.re << "," << zespolone.im << ")" << std::endl;
}

int main(void) {
	zespolone z1(1, 2), z2(4, 10), z3(0, 0), z4(0, 0);
	z3 = z1 + z2;
	// z4 = z3.operator+(z2); teraz tego nie mozna wywolac, bo nie jest to metoda klasy
	//std::cout << "z3 = (" << z3.re << "," << z3.im << ")" << std::endl;

	z3.drukuj();	
	
	return 0;
}

2

Chcesz użyć this.

0

O, dzięki. Działa

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