#include "Number.h" #include "NumberRep.h" #include "Integer.h" #include "Fraction.h" #include Integer::Integer(int num) : n(num) {} void Integer::display() const { cout << n; } Number Integer::add(const NumberRep *r) const { // *this + *r return r->revAdd(this); } Number Integer::div(const NumberRep *r) const { // *this / *r return r->revDiv(this); } Number Integer::revAdd(const Integer *l) const { // *l + *this return Number(l->n + n); } Number Integer::revDiv(const Integer *l) const { // *l / *this return Number(l->n, n); } Number Integer::revAdd(const Fraction *l) const { // *l + *this return Number(l->n + n * l->d, l->d); } Number Integer::revDiv(const Fraction *l) const { // *l / *this return Number(l->n, l->d * n); } NumberRep * Integer::copy() const { return new Integer(n); }