[C++]Metoda drukuj w klasie

[C++]Metoda drukuj w klasie
P9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 14
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ć?

Kopiuj
#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;
}

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
2

Chcesz użyć this.

P9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 14
0

O, dzięki. Działa

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.