Mam taki przykład programu z wykładu, który nie działał z powodu poknoconych nazw, ale okazuje się, że dalej coś jest nie tak. W tej chwili nie wywala żadnych błędów, ale problem w tym, że zamiast wpisanych liczb, obiekt pokazuje wartości domyślne z konstruktora.
/*std::cout << "Prosze podac czesc urojona liczby zespolonej"
<< " i nacisnac enter" << std::endl;
std::cin >> pierwsza; */
To zakomentowałem, bo nic nie robiło i wydaje mi się, że nie potrzeba kolejny raz tego podawać.
#include <iostream>
class zespolone
{
public:
int re, im;
zespolone(int , int);
friend std::ostream & operator << (std::ostream &, zespolone);
friend std::istream & operator << (std::istream &, zespolone);
};
zespolone::zespolone(int m, int n)
{
re = m;
im = n;
}
std::ostream & operator<<(std::ostream & wyjscie, zespolone z1)
{
wyjscie << "("<<z1.re <<","<< z1.im << ")" << std::endl;
return wyjscie;
}
std::istream & operator>>(std::istream & wejscie, zespolone z1)
{
wejscie >> z1.re;
wejscie >> z1.im;
return wejscie;
}
int main(void) {
zespolone pierwsza(0,0);
std::cout << "Prosze podac czesc rzeczywista liczby zespolonej"
<< " i nacisnac enter" << std::endl;
std::cin >> pierwsza;
/*std::cout << "Prosze podac czesc urojona liczby zespolonej"
<< " i nacisnac enter" << std::endl;
std::cin >> pierwsza; */
std::cout << "Podano liczbe zespolona" << pierwsza;
return 0;
}
Z góry dzięki wielkie.