Witam,
rozwiązując zadanie 7 z rozdziału 11 książki "Język C++. Szkoła programowania. Wydanie VI" nie potrafię przeciążyć operatora "<<" tak aby można było po nim pisać operacje, a nie zmienną.
#include <iostream>
using namespace std;
class Ccomplex
{
private:
int rzecz;
int uro;
public:
Ccomplex(){rzecz=uro=0;}
Ccomplex(int r, int u)
{
rzecz=r;
uro=r;
}
Ccomplex operator+(Ccomplex x)
{
return Ccomplex(rzecz+x.rzecz, uro+x.uro);
}
friend ostream & operator<<(ostream & os, Ccomplex & c )
{
os<<"("<<c.rzecz<<","<<c.uro<<"i)";
return os;
}
};
int main ()
{
Ccomplex a(3.0, 4.0);
Ccomplex c(3.0, 4.0);
a= a + c;
cout<< a; //działa
cout<< a + c; //nie działa
return 0;
}
wyskakuje mi error:cannot bind 'std::ostream {aka std::basic_ostream<char>}' lvalue to 'std::basic_ostream<char>&&' i error: intalizing argument 1 of 'std_basic_ostream...
Proszę o pomoc :)