fuction calling from another class file

I have the following fraction file. I have to create a main for it in its own cpp file but i have no idea about how to do it. Please help.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <iostream>
#include <iomanip>
using namespace std;

#include "fraction.h"
#include "utilities.h"
using Scobey::gcd;

Fraction::Fraction
(
 int numer,
 int denom
)
{
    numerator = numer;
    // Checks if the denominator is 0 and gives error if it is.
    if (denom == 0)
    {
        cout <<"\nError: Zero denominator not permitted."<<endl;
        cout <<"       Program is now terminating"<<endl;
        cout <<"       directly from class constructer."<<endl;
        cout <<"\nPress Enter to continue ...";
        cin.ignore(80,'\n');
        exit(0);
    }
    else
        denominator = denom;
}
void Fraction::set
(
 int numer,
 int denom
)
{
    numerator = numer;
    // Checks if the denominator is 0 and gives error if it is.
    if (denom == 0)
    {
        cout <<"\nError: Zero denominator not permitted."<<endl;
        cout <<"       Program is now terminating"<<endl;
        cout <<"       directly from function set()"<<endl;
        cout <<"\nPress Enter to continue ...";
        cin.ignore(80,'\n');
        exit(0);
    }
    else
        denominator = denom;
}
Fraction Fraction::operator +
(
 const Fraction &otherFraction
) const
{
    Fraction result;
    //Checks if the denominator of the fractions are same.
    if (denominator == otherFraction.denominator)
    {
        result.set(numerator+otherFraction.numerator,denominator);
    }
    else
    {
        result.set((numerator*otherFraction.denominator)
            +(otherFraction.numerator*denominator)
            ,denominator*otherFraction.denominator);
    }
    return result;
}
Fraction Fraction::operator -
(
 const Fraction &otherFraction
) const
{
    Fraction result;
    //Checks if the denominator of the fractions are same.
    if (denominator == otherFraction.denominator)
        result.set((numerator-otherFraction.numerator),denominator);
    else
    {
        result.set((numerator*otherFraction.denominator)
            -(otherFraction.numerator*denominator)
            ,denominator*otherFraction.denominator);
    }
    return result;
}
Fraction Fraction::operator *
(
 const Fraction &otherFraction
) const
{
    Fraction result;
    result.set((numerator*otherFraction.numerator),
        (denominator*otherFraction.denominator));
    return result;
}
Fraction Fraction::operator /
(
 const Fraction &otherFraction
) const
{
    Fraction result;
    result.set((numerator*otherFraction.denominator),
        (denominator*otherFraction.numerator));
    return result;
}
bool Fraction::operator <
(
 const Fraction &otherFraction
) const
{
    if((numerator*otherFraction.denominator)
        <(otherFraction.numerator*denominator))
        return true;
    else 
        return false;
}
bool Fraction::operator ==
(
 const Fraction &otherFraction
) const
{
    // Self groung common divisor
    int gcd1 = gcd(numerator,denominator);
    // otherFunction groung common divisor
    int gcd2 = gcd(otherFraction.numerator,otherFraction.denominator);
    if(((numerator/gcd1) == (otherFraction.numerator/gcd2))
        &&((denominator/gcd1)==(otherFraction.denominator/gcd2)))
        return true;
    else
        return false;
}
istream& operator>>
(
 istream& inStream,
 Fraction& f
)
{
    inStream >> f.numerator;
    char frac;
    inStream >> frac;
    if (frac)
        inStream >> f.denominator;
    return inStream;
}
ostream& operator<<
(
 ostream& outStream,
 const Fraction& f
)
{
    if (f.denominator/(gcd(f.numerator,f.denominator)) == 1 
        || f.numerator == 0)
        outStream<<f.numerator/gcd(f.numerator,f.denominator);
    else
        if (f.numerator < 0 && f.denominator < 0)
            outStream<<(f.numerator)/gcd(f.numerator,f.denominator) 
            <<'/'<<(f.denominator)/gcd(f.numerator,f.denominator);
        else
            outStream<<f.numerator/gcd(f.numerator,f.denominator)
            <<'/'<<f.denominator/gcd(f.numerator,f.denominator);
    return outStream;
}
Alright. What IDE are you using?

Regardless, you'll want to create a new file, add it to your project (if your IDE has anything similar to projects, which it probably does provided you're using a notable IDE) include "fraction.h" along with all the usual header files (iostream, iomanip, etc.) and write your main function. Does that somewhat explain it?

-Albatross
Thanks Albatross for your time. I really appreciate it nut i figured it out. I was freethinking for some reason.
Topic archived. No new replies allowed.