Witam,
Mam pytanie. Co tutaj jest niepoprawnie napisane, że operator += nie działa jak powinien?
class Trojmian
{
double wspolczynnik_0_;
double wspolczynnik_1_;
double wspolczynnik_2_;
public:
Trojmian(double wspolczynnik_0=0.0,double wspolczynnik_1=0.0,double wspolczynnik_2=0.0):
wspolczynnik_0_(wspolczynnik_0),wspolczynnik_1_(wspolczynnik_1),
wspolczynnik_2_(wspolczynnik_2)
{
}
double Wspolczynnik(int x) const
{
double wynik=0;
switch(x)
{
case 0:
wynik=wspolczynnik_0_;
break;
case 1:
wynik=wspolczynnik_1_;
break;
case 2:
wynik=wspolczynnik_2_;
break;
}
return wynik;
}
Trojmian operator+= (const Trojmian& s) const
{
double a=Wspolczynnik(0)+s.Wspolczynnik(0);
double b=Wspolczynnik(1)+s.Wspolczynnik(1);
double c=Wspolczynnik(2)+s.Wspolczynnik(2);
Trojmian t(a,b,c);
return t;
}