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.
 
     
     
     
    