Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 25.10.2012
Сообщений: 42
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет. Мне нужно ввести класс для работы с объектом "рациональная дробь" вида (m / n) (рациональная дробь это дробь у которого числитель больше знаменателя) и реализовать такие перегрузки операторов: сложение (вычитание) двух дробей (+, -). Незнаю как это сделать помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2013, 21:20
Ответы с готовыми решениями:

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

Перегрузка операторов С++
Задание: Написать код на языке С++ где реализуется перегрузка операторов. Тематика: База данных...

Перегрузка операторов
#include <stdio.h> #include <stdlib.h> class matrix { protected: int **mass; int n;...

Перегрузка операторов
Привет, не подскажите, почему у меня тут не работает правильно += оператор. #include <iostream>...

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
27.03.2013, 00:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2013, 00:46
Помогаю со студенческими работами здесь

Перегрузка операторов
В общем задание следующее: Создайте класс chess (шахматы), в котором хранятся поля шахматной доски...

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

Перегрузка операторов
Описать класс «массив вещественных чисел». В классе предусмотреть методы удаления и добавления...

[C++] Перегрузка операторов
Помогите пожалуйста перегрузить операторы в матрице: +=, i++, != и Перегрузил *= но не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru