LiczbaZespolona LiczbaZespolona:: operator = ( const LiczbaZespolona & Z2){
re=Z2.re;
im=Z2.im;
return *this;
}
LiczbaZespolona LiczbaZespolona:: operator=( double liczba){
re=liczba;
im=0;
return *this; }
Tak to mam zrealizowane w przypadku przypisywania innej zespolonej lub zera.
Napotkałem natomiast na inny problem. Otóż w moim programie wczytuję liczby z pliku .txt z wykorzystaniem **przekierowania strumienia wejściowego na plik **i nijak nie potrafię dojść do końca pliku.
Przypuszczam, że w pogrubionym tekscie tkwi problem (./prog < liczby.txt), czy w ogóle na standardowym wejściu jest coś takiego jak EOF ?
Próbowałem tak :
#include <iostream>
#include <cstdio>
#include <iomanip>
char eo;
while(!cin.eof()){
cin >> eo;
if(eo==EOF){
cin.setstate(ios::eofbit);
continue;} // continue , bo jesli jest koniec to chce przejsc do warunku pętli i z niej wyjsc, bo warunek nie bedzie wówczas spełniony
else
ungetc(eo,stdin);
// dalsze operacje na danych ....
W ogóle to nigdy nie jest spełniony warunek eo==EOF, nie wiem dlaczego, dołączyłem bibliotekę cstdio.
Problem polega więc na warunku if , a nie na błędnym ustawieniu flagi ios..