Inicjalizacja klasy wartościa przekazaną przez inna klase

0

Jak w temacie.

struct _position
{
	int x;
	int y;
};
class Position
{
private: 
	_position position;
public:
	void set(int x, int y);
	void set(_position p);
	_position get();
	Position();
	~Position();
};
void Position::set(int x, int y) {
	position.x = x;
	position.y = y;
}
void Position::set(_position p)
{
	position = p;
}
_position Position::get()
{
	return position;
}
Position::Position()
{	
}

Position::~Position()
{
}

int main()
{
	Position a, b;
	a.set(1, 1);

	b.set(a.get);
}

Co jest zle w ostatniej linijce kodu maina ?

0

Na tyle ile udało mi się z tego przeczytać, to wnioskuje, iż chodzi Ci o konstruktor kopiujący. Wpisz hasło w wyszukiwarkę, poczytaj i odpowiesz sobie na pytanie.

0

Konkretnie chodzi mi o nadanie wartosci składowej klasy position

private: 
    _position position;

(ta czesc kodu) poprzez wywolanie metody klasy ```
_position Position::get()
{
return position;
}

b.set(a.get);

Gdzie a i b to obiekty mojej klasy Position. (troche maslo maslane jesli chodzi o nazwy)
Sorry za nieczytelny kod. Mam nadzieje że teraz to lepiej zobrazowalem.
1

Nie działa Ci, bo masz:

b.set(a.get);

zamiast:

b.set(a.get());
0

Tak taki glupi blad. Dzieki. Temat do zamkniecia.

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