• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obiektowo Get i Set

Cloud VPS
0 głosów
250 wizyt
pytanie zadane 18 marca 2021 w C i C++ przez Adamek185wp Obywatel (1,280 p.)
edycja 18 marca 2021 przez Adamek185wp

Witam! Mam problem z Set i Get nie wiem czemu nie działa... pokazuje mi 4 błędy w programie(odnośnie dostępu i argumentów w set)


#include <iostream>

using namespace std;

class Punkt {
public:

	Punkt(double X = 0, double Y = 0)
	{
		this->X = X;
		this->Y = Y;
	}
	~Punkt();

	void wypisz();

	void SetX(double X);
	double GetX() { return X; };

	void SetY(double Y);
	double GetY() { return Y; };

private:
	double X;
	double Y;
};

void Punkt::wypisz() { cout << "X=" << X << " | Y=" << Y << endl; }
Punkt::~Punkt() {}

//void Punkt::SetX() { X = SetX; }
//string Punkt::GetX() { return X; }
//void Punkt::SetY() { Y = SetY; }
//string Punkt::GetY() { return Y; }

int main() {
	cout << endl << endl;

	cout << "||\t dzialanie" << endl;

	Punkt obiekt_domyslny;
	cout << "||\t Domyslny obiekt\t\t"; obiekt_domyslny.wypisz();

	Punkt wlasny1(9);
	cout << "||\t Pierwszy obiekt\t\t";  wlasny1.wypisz();

	Punkt wlasny2(4, 2);
	cout << "||\t Drugi obiekt\t\t\t";  wlasny2.wypisz();

	Punkt jd(10, 10);
	jd.wypisz();
	jd.SetX();
	jd.SetY();
	jd.wypisz();
	jd.X = 4;
	jd.Y = 4;
	jd.wypisz();
	cout << jd.GetX() << endl;

	return 0;
};


Dodałem 2 linie (27-28) ale nic się nie zmieniło


#include <iostream>

using namespace std;

class Punkt {
public:

	Punkt(double X = 0, double Y = 0)
	{
		this->X = X;
		this->Y = Y;
	}
	~Punkt();

	void wypisz();

	void SetX(double X);
	double GetX() { return X; };

	void SetY(double Y);
	double GetY() { return Y; };

private:
	double X;
	double Y;
};

void Punkt::SetX(double X){this->X = X;}
void Punkt::SetY(double Y){this->Y = Y;}



void Punkt::wypisz() { cout << "X=" << X << " | Y=" << Y << endl; }
Punkt::~Punkt() {}

//void Punkt::SetX() { X = SetX; }
//string Punkt::GetX() { return X; }
//void Punkt::SetY() { Y = SetY; }
//string Punkt::GetY() { return Y; }

int main() {
	cout << endl << endl;

	cout << "||\t dzialanie" << endl;

	Punkt obiekt_domyslny;
	cout << "||\t Domyslny obiekt\t\t"; obiekt_domyslny.wypisz();

	Punkt wlasny1(9);
	cout << "||\t Pierwszy obiekt\t\t";  wlasny1.wypisz();

	Punkt wlasny2(4, 2);
	cout << "||\t Drugi obiekt\t\t\t";  wlasny2.wypisz();

	Punkt jd(10, 10);
	jd.wypisz();
	jd.SetX();
	jd.SetY();
	jd.wypisz();
	jd.X = 4;
	jd.Y = 4;
	jd.wypisz();
	cout << jd.GetX() << endl;

	return 0;
};


 

1 odpowiedź

+1 głos
odpowiedź 18 marca 2021 przez tangarr Mędrzec (155,180 p.)
wybrane 18 marca 2021 przez Adamek185wp
 
Najlepsza

1. Funkcje SetX i SetY wymagają podania wartości.
2. Zmienne X i Y są prywatne.

    Punkt jd(10, 10);
    jd.wypisz();
    jd.SetX(4);
    jd.SetY(4);
    jd.wypisz();

 

Podobne pytania

0 głosów
1 odpowiedź 2,805 wizyt
pytanie zadane 21 czerwca 2017 w JavaScript przez crova Użytkownik (940 p.)
+1 głos
2 odpowiedzi 326 wizyt
pytanie zadane 7 stycznia 2016 w C# przez Mateusz Tocha Bywalec (2,560 p.)
0 głosów
0 odpowiedzi 227 wizyt
pytanie zadane 14 grudnia 2017 w C# przez Caspariano Użytkownik (760 p.)

93,486 zapytań

142,420 odpowiedzi

322,771 komentarzy

62,900 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...