Форум программистов, компьютерный форум CyberForum.ru

Исправить ошибки в классе Fraction - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму и произведение для указанного кол-ва её аргументов http://www.cyberforum.ru/cpp-beginners/thread838334.html
Срочно помогите представить программу иллюстрирующую косвенный вызов функции и позволяющую вычислить сумму и произведение для указанного кол-ва её аргументов Добавлено через 9 минут хотя бы часть программы
C++ Матрицы. Указать индексы элемента с найденным значением. Отсортировать матрицу по убыванию Дана действительная матрица размера n*m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением. Затем среди этих чисел выбирается наибольшее, указать индексы элемента с найденным значением. Отсортировать матрицу по убыванию. Проблема в том, что я понятия не имею как вот это вот написать.. Если кому будет не трудно, помогите пожалуйста.. http://www.cyberforum.ru/cpp-beginners/thread838332.html
разработать собственный алгоритм шифрования и его реализацию C++
разработать собственный алгоритм шифрования и его реализацию
найдите ошибку в сортировке по возрастанию) C++
#include "stdafx.h" // подключение файла перекомпилированного заголовка #include "iostream" // подключение библиотеки ввод/вывод #include "math.h" // подключение библиотеки тригонометрических функций using namespace std; void main(void) // головная программа { setlocale (0, "Rus"); // русский язык abc: // метка для повтора
C++ Решение уравнений типа f(x) =0 методом простых итераций с точностью до 10 в -6 степени http://www.cyberforum.ru/cpp-beginners/thread838295.html
Ребят помогите написать программу на С++ для решения уравнений:x+ lgx = 0,5 и x^3 + 0,4*x^2 + 0,6*x – 1,6 = 0 Нужно найти действительные корни уравнения с точность до 10^-6. Буду очень благодарен!!!
C++ Чтение из файла Всем привет! чёт я не могу разобраться! есть файл 1.txt с содержимым: 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 подробнее

Показать сообщение отдельно
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
15.04.2013, 22:06     Исправить ошибки в классе Fraction
Fraction::Fraction(): n(0),d(0) {}
Исправьте знаменатель на 1(на 0 делить нельзя).
Fraction& operator=(Fraction& x);
Fraction& operator-(Fraction& v);
Fraction& operator/(Fraction& u);
friend ostream& operator << (ostream& out, Fraction &f);
friend istream& operator >> (istream& in, Fraction &f);
C++
1
2
3
4
5
Fraction& operator=(const Fraction& x);
Fraction  operator-(const Fraction& v) const;
Fraction  operator/(const Fraction& u) const;
friend std::ostream& operator << (std::ostream& out, const Fraction& f);
friend std::istream& operator >> (std::istream& in, Fraction& f);
Операторы - и / должны возвращать временный объект, а не менять данные того объекта, который их вызывает(как это сделано у вас), например:
C++
1
2
3
4
5
6
7
Fraction Fraction::operator-(const Fraction& v) const
{
    Fraction t;           // временный объект
    t.n = n*v.d-d*v.n;
    t.d = d*v.d;
    return t;
}
Fraction operator-(Fraction& n,Fraction& d)
Fraction operator/(Fraction& n,Fraction& d)
Это не нужно.

Добавлено через 1 минуту
Ну и проверку деления на 0 тоже не помешало бы сделать.
 
Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru