Code:

//CIS 37
//Program Set #3
//
//Katherine Busch
//
//
#include <iostream.h>
class Frac {
int num1, num2, dem1, dem2, resnum, resdem;
float dec;
public:
Frac(int a=1, int b=1, int c=1, int d=1, int e=1, int f=1);
~Frac ();
int addFrac(/*int, int, int, int, int, int, float*/);
int subFrac(/*int, int, int, int, int, int, float*/);
int multFrac(/*int, int, int, int, int, int, float*/);
int divFrac(/*int, int, int, int, int, int, float*/);
int printFrac();
int printDec();
int reduce(int p, int q);
};
Frac::Frac(int a, int b, int c, int d, int e, int f)
{
num1=a; num2=b; dem1=c; dem2=d; resnum=e; resdem=f;
}
Frac::~Frac()
{
cout << "Destructed!"<<endl;
}
int Frac::printDec()
{
cout << "Decimal results are: "<< dec << endl;
}
int Frac::reduce (int p, int q)
{
int r;
return ((r=p%q)==0)? q : reduce (q,r);
}
int Frac::printFrac()
{
cout << "Results are: "<< resnum<<"/"<<resdem<<endl;
}
int Frac::addFrac()
{
if(dem1 != dem2)
resdem = dem1 * dem2;
resnum = (dem2 * num1) + (dem1 * num2);
}
int Frac::subFrac()
{
if(dem1 != dem2)
resdem = dem1 * dem2;
resnum = (dem2 * num1) - (dem1 * num2);
}
int Frac::multFrac()
{
resnum = num1 * num2;
resdem = dem1 * dem2;
}
int Frac::divFrac()
{
resnum = dem1 * num1;
resdem = num1 * dem2;
}
main()
{
Frac fraction (1, 3, 2, 5);
fraction.addFrac();
fraction.printFrac();
fraction.printDec();
fraction.subFrac();
fraction.printFrac();
fraction.printDec();
fraction.multFrac();
fraction.printFrac();
fraction.printDec();
fraction.divFrac();
fraction.printFrac();
fraction.printDec();
return 0;
}

u gotta remember to make sure the function prototypes and the actual def match in return type as well as variables passed to it