can someone help me figure out why the output of my program is coming out wrong
#include<iostream>
using namespace std;
class fractions
{
public:
fractions fractions :: operator+(fractions f);
fractions fractions :: operator-(fractions f);
fractions fractions :: operator*(fractions f);
fractions fractions :: operator/(fractions f);
fractions addFraction(fractions);
fractions subFraction(fractions);
fractions multiFraction(fractions);
fractions divideFraction(fractions);
fractions();
fractions(int, int);
void getFraction();
void printFraction();
private:
int numerator;
int denominator;
};
//method to add two fractions
fractions fractions :: addFraction(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator + denominator * f.numerator;
return temp;
}
//method to add two fractions
fractions fractions :: operator+(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator + denominator * f.numerator;
return temp;
}
//method to subtract two fractions
fractions fractions :: subFraction(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator - denominator * f.numerator;
return temp;
}
//method to subtract two fractions
fractions fractions :: operator-(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator - denominator * f.numerator;
return temp;
}
//method to multiply two fractions
fractions fractions :: multiFraction(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator * denominator * f.numerator;
return temp;
}
//method to multiply two fractions
fractions fractions :: operator*(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator * denominator * f.numerator;
return temp;
}
//method to divide to fractions
fractions fractions :: divideFraction(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator / denominator * f.numerator;
return temp;
}
//method to divide two fractions
fractions fractions :: operator/(fractions f)
{
fractions temp;
temp.denominator = denominator * f.denominator;
temp.numerator = numerator * f.denominator / denominator * f.numerator;
return temp;
}
fractions::fractions()
{
numerator = 0;
denominator = 1;
}
fractions::fractions(int n, int d)
{
numerator = n;
denominator = d;
}
void fractions::printFraction()
{
cout <<numerator<<'/'<<denominator<<endl;
}
void getFraction(int &numerator, int &denominator)
{
cout<<"Please enter numerator";
cin >>numerator;
cout<<"Please enter denominator";
cin >>denominator;
}
int main()
{
int n,d;
fractions f1(1,2);
fractions f2(3,4);
fractions f3;
fractions f4;
getFraction(n,d);
fractions f5(n,d);
f3 = f1.addFraction(f2);
f4 = f3 + f1;
f3.printFraction();
f4.printFraction();
f3 = f1.subFraction(f2);
f4 = f3 - f1;
f3.printFraction();
f4.printFraction();
f3 = f1.multiFraction(f2);
f4 = f3 * f1;
f3.printFraction();
f4.printFraction();
f3 = f1.divideFraction(f2);
f4 = f3 / f1;
f3.printFraction();
f4.printFraction();
system("pause");