Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
ChuckNorris
2 / 2 / 1
Регистрация: 25.10.2012
Сообщений: 42
#1

Перегрузка операторов

26.03.2013, 21:20. Просмотров 957. Ответов 1
Метки нет (Все метки)

Всем привет. Мне нужно ввести класс для работы с объектом "рациональная дробь" вида (m / n) (рациональная дробь это дробь у которого числитель больше знаменателя) и реализовать такие перегрузки операторов: сложение (вычитание) двух дробей (+, -). Незнаю как это сделать помогите пожалуйста
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 21:20
Ответы с готовыми решениями:

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в...

Перегрузка операторов
Создать класс А с 4 полями, отражающие показатели объекта. Перегрузить операции. Метод класса:...

Перегрузка операторов
Не смотря на вычитывание из книжек и форумов, что такое "перегрузка операторов", так до конца и не...

Перегрузка операторов
Вот такое вот задание: Создать класс А с 4 полями, отражающие показатели объекта. Перегрузить...

Перегрузка операторов
Доброго времени суток Код выдает ошибку Не могу понять как исправить cannot convert...

1
Большой_Стен
13 / 13 / 8
Регистрация: 22.04.2012
Сообщений: 99
27.03.2013, 00:46 #2
Лучший ответ Сообщение было отмечено ChuckNorris как решение

Решение

перегрузку << и >> для работы с потоками я понял не надо перегружать. тогда этого должно хватить
C++
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
class Fraction
{
    public:
    Fraction (){}
    Fraction (int _m, int _n) : m(_m), n(_n) {}//не уверен, обязательна ли проверка на то, что числитель больше знаменателя
    int getM() const {return m;}
    int getN() const {return n;}
    void setM(int _m) {m=_m;}
    void setN(int _n) {n=_n;}
    Fraction operator + (const Fraction& fraction_right)
    {
        Fraction result_fraction;
        result_fraction.n=this->n*fraction_right.n;//знаменатель результирующей дроби - произведение знаменателей исходных дробей
        result_fraction.m=result_fraction.n/this->n*this->m+result_fraction.n/fraction_right.n*fraction_right.m;
        return result_fraction;
    }
    Fraction operator - (const Fraction& fraction_right)
    {
        Fraction result_fraction;
        result_fraction.n=this->n*fraction_right.n;//знаменатель результирующей дроби - произведение знаменателей исходных дробей
        result_fraction.m=result_fraction.n/this->n*this->m-result_fraction.n/fraction_right.n*fraction_right.m;
        return result_fraction;
    }
    private:
    int m,n;
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 00:46

Перегрузка операторов с++
Доброго времени суток!Вот у меня перегрузка оператора +.Задание сделапть пергрузку так чтобы к...

Перегрузка операторов +,-,*,/
Есть класс который описывает дробь.2 способа ввода. Задание - переопределить +,-,*, / .Не понимаю...

Перегрузка операторов
Создать следующие классы. В каждом классе должны быть наборы конструкторов (в том числе по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru