Объектно-ориентированное программирование на C++. Андрианова А.А - 122 стр.

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
сравнения, метод преобразования в вещественное число. Для
ввода/вывода дроби и для некоторых операций также необходимо
разработать дружественные функции.
Таким образом, полное объявление класса может выглядеть так:
class Fraction
{
private:
int sign; // знак дроби (+ или -)
int intPart; // целая часть дроби
int numerator; // числитель дроби
int denominator; // знаменатель дроби
//преобразование в смешанный вид
void GetMixedView();
void Cancellation(); //сокращение дроби
void GetIntPart(); //выделение целой части дроби
public:
Fraction(); // конструктор без параметров
//конструктор c параметрами
Fraction(int, int, int = 0, int = 1);
//деструктор
~Fraction();
// метод сложения двух дробей
Fraction operator + (Fraction);
// метод сложения дроби с целым числом
Fraction operator + (int);
// метод вычитания двух дробей
Fraction operator - (Fraction);
// метод вычитания из дроби целого числа
Fraction operator - (int);
// метод умножения двух дробей
Fraction operator * (Fraction);
// метод умножения дроби на целыое число
Fraction operator * (int);
// метод деления двух дробей
Fraction operator / (Fraction);
// метод деления дроби на целое число
Fraction operator / (int);
// метод умножения на (-1)
Fraction operator - ();
// дружественные функции
// функция сложения целого числа и дроби
friend Fraction operator + (int, Fraction);
// функция вычитания дроби из целого числа
friend Fraction operator - (int, Fraction);
// функция умножения целого числа и дроби
friend Fraction operator * (int, Fraction);
// функция деления целого числа на дробь
122
                               Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
сравнения, метод преобразования в вещественное число. Для
ввода/вывода дроби и для некоторых операций также необходимо
разработать дружественные функции.
    Таким образом, полное объявление класса может выглядеть так:
      class Fraction
      {
      private:
           int sign;           // знак дроби (+ или -)
           int intPart;        // целая часть дроби
           int numerator;      // числитель дроби
           int denominator;    // знаменатель дроби
           //преобразование в смешанный вид
           void GetMixedView();
           void Cancellation();     //сокращение дроби
           void GetIntPart();       //выделение целой части дроби
      public:
           Fraction(); // конструктор без параметров
           //конструктор c параметрами
           Fraction(int, int, int = 0, int = 1);
           //деструктор
           ~Fraction();
           // метод сложения двух дробей
           Fraction operator + (Fraction);
           // метод сложения дроби с целым числом
           Fraction operator + (int);
           // метод вычитания двух дробей
           Fraction operator - (Fraction);
           // метод вычитания из дроби целого числа
           Fraction operator - (int);
           // метод умножения двух дробей
           Fraction operator * (Fraction);
           // метод умножения дроби на целыое число
           Fraction operator * (int);
           // метод деления двух дробей
           Fraction operator / (Fraction);
           // метод деления дроби на целое число
           Fraction operator / (int);
           // метод умножения на (-1)
           Fraction operator - ();
           // дружественные функции
           // функция сложения целого числа и дроби
           friend Fraction operator + (int, Fraction);
           // функция вычитания дроби из целого числа
           friend Fraction operator - (int, Fraction);
           // функция умножения целого числа и дроби
           friend Fraction operator * (int, Fraction);
           // функция деления целого числа на дробь

122