I was brushing up on my C++....overloading operators, that is. So I got to writing the good ol' Fraction class. However, I ran into these errors that I'm not sure how to fix.

'num' is not a typeCode:class Fraction{ public: int num, den, coef; //numerator, denominator, coefficient Fraction():num(1),den(1),coef(0){} //default constructor Fraction(int numx, int denomx){ num=numx; den=denomx; coef=0; } ~Fraction(){} Fraction& operator+(Fraction& frac2); void print(){std::cout<<num<<"/"<<den<<"\n";} }; Fraction& Fraction::operator+(Fraction& frac2){ Fraction temp;temp.num = (this.num * frac2.den) + (this.den * frac2.num);//new numerator temp.den = this.den*frac2.den; return temp; } int main(void){ Fraction A(1,2); Fraction B(2,3); Fraction C = A+B; C.print(); std::cin.get(); return 0; }

'den' is not a type

request for member of non-aggregate type before '*' token