// File fractions.h // File fractionc.h
struct Fraction class Fraction
{ {
int num; public:
int den; Fraction();
}; Fraction(int n, int d);
void Assign(int n, int d);
void Assign (Fraction & f, int n, int d); Fraction Add (Fraction right);
Fraction Add (Fraction left, Fraction right); void Display();
void Display (Fraction f); private:
int num;
int den;
};
// File fractions.cpp // File fractionc.cpp
#include<iostream> #include<iostream>
using namespace std; using namespace std;
Fraction :: Fraction ()
{
num = 0;
den = 1;
}
Fraction :: Fraction (int
n, int d)
{
Assign
(n, d);
}
void Assign (Fraction & f, int n, int d) void Fraction :: Assign (int n, int d)
{ {
f.num = n; num = n;
f.den = d; den = d;
} }
Fraction Add (Fraction left, Fraction right) Fraction Fraction :: Add (Fraction right)
{ {
Fraction sum; Fraction sum;
sum.num = left.num * right.den + left.den * right.num; sum.num = num * right.den + den * right.num;
sum.den = left.den * right.den; sum.den = den * right.den;
return sum; return sum;
} }
void Display (Fraction f) void Fraction :: Display ()
{ {
cout << f.num << '/' << f.den; cout << num << '/' << den;
} }
// File StructDemo.cpp // File ClassDemo.cpp
#include <iostream> #include <iostream>
#include <cstdlib> #include <cstdlib>
using namespace std; using namespace std;
void main() void main ()
{ {
Fraction a, b, c; Fraction a(2, 3), b, c;
Assign (a, 2, 3);
Assign (b, 3, 4); b.Assign(3, 4);
c = Add (a, b); c = a.Add(b);
Display (a); a.Display();
cout << " + "; cout << " + ";
Display (b); b.Display();
cout << " = "; cout << " = ";
Display (c); c.Display();
cout << endl; cout << endl;
system("pause"); system("pause");
} }