can you explain me why this code doesn't work. operator+ override:
Fraction& Fraction::operator+(const Fraction& f) {
Fraction temp;
if (this->denominator == f.denominator){
temp.numerator = this->numerator + f.numerator;
temp.numerator = this->numerator;
temp.simplifier();
}
else {
temp.numerator = this->numerator * f.denominator + f.numerator * this->denominator;
temp.denominator = this->denominator * f.denominator;
temp.simplifier();
}
return temp;
}
operator= override:
void Fraction::operator=(const Fraction& f) {
this->numerator = f.numerator;
this->denominator = f.denominator;
}
after code
Fraction res;
res = f + g;
fields of res stay uninitialised. But, for example, code
Fraction res = g;
is working properly. So operator= doesn't understand (f + g) as one object? Thanks.