Cześć
Od kilku godzin głowie się nad stworzeniem przeciążenia operatora >>.
Mam klasę o nazwie, załóżmy klasa, który ma dwie składowe: x,y.
W funkcji main tworzę obiekt klasy o nazwie - object. I teraz chciałbym za pomocą instrukcji cin>>object; wczytać składowe x,y
I za nic nie mogę wymyślić jak to zrobić ;D
Wycinki potrzebnego kodu:
mojaKlasa.hpp
class Klasa
{
private:
double x;
double y;
public:
Klasa();
~Klasa();
};
mojaKlasa.cpp
Klasa::Klasa()
{
x=y=0;
}
Klasa::~Klasa()
{
}
main.cpp
Klasa object;
cout << "Podaj liczbe zespolona: " << endl;
cin >> object;
Wiem, że to ^^^^^^^^^^^^^^^^^ i tak nic nie pomoże, ale chcę uniknąć krytyki ludzi typu: ,,może byś podał kod?",,tu są programiści nie jasnowidzowie" etc.
Nie ma potrzeby dawania całego kodu, bo i tak nic by to nie dało :D.
Wracając do pytania:
Próbowałem coś takiego:
//mojaKlasa.hpp
void operator>>(const istream & is, const Klasa & kl) const;
//mojaKlasa.cpp
void operator>>(const istream & is, const Klasa & kl) const
{
cout << "x: ";
cin >> kl.x;
cout << "y: ";
cin >> kl.y;
}
Ale nie wypaliło ;D
Jeżeli brakowałoby jakiejkolwiek informacji potrzebnej do rozwiązania problemu, nie krytykuj - napisz - uzupełnie!