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

Перегрузки функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти кол-во совпадающих элементов двух двумерных массивов http://www.cyberforum.ru/cpp-beginners/thread766707.html
Помогите плиз. Написать программу на языке С + +, которая находит количество элементов 2-мерного массива, которые совпадают с элементами другого аналогичного массива и выводит это количество на экран.
C++ В квадратной матрице найти максимальный элемент В квадратной матрице найти максимальный элемент, расположенный над главной диагональю и минимальный, расположенный под. С++ http://www.cyberforum.ru/cpp-beginners/thread766695.html
C++ Умножение двух матриц, ответ записывается в третью матрицу
Реализовать алгоритм умножения двух матриц, заданных пользователем. Результат умножения записывается в третью матрицу. http://ru.wikipedia.org/wiki/%D0%A3%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86 тут описание как их умножать, не могу разобраться( матрица должна быть двумерной, язык С++
Не хватает одного конструктора копий C++
Вообщем поставил в коде вывод сообщений через cout, чтобы проследить кто и в какой момент запускается, и подсчитал следующий вывод : В конструкторе копий В функцие operator=() В конструкторе копий В конструкторе копий В функцие operator=() В конструкторе копий Но похоже, что четвертого пункта нету. То есть конструктор копий запускается три раза, а должен 4.
C++ Преимущества указателя? http://www.cyberforum.ru/cpp-beginners/thread766685.html
Какая разница между? MyObject * object = new MyObject; // и MyObject object; Какие преимущества дает использование указателя на объект с последующим выделением памяти под него по сравнению с просто объектом. (помимо того что использование указателя может давать утечки памяти:D)
C++ оздать класс "измерения" с открытыми данными высота и ширина Создать класс "измерения" с открытыми данными высота и ширина. С помощью наследования создать четыре класса: 1. прямоугольник - для расчёта площади прямоугольника 2. прямоугольный треугольник - для расчёта площади прямоугольного треугольника. 3. цилиндр - для расчёта полной поверхности цилиндра 4. параболоид - для расчёта объёма параболоида. В главной функции программы инициализировать... подробнее

Показать сообщение отдельно
nonedark2008
624 / 502 / 92
Регистрация: 28.07.2012
Сообщений: 1,343
20.01.2013, 01:47     Перегрузки функции
Функция возвращает значение типа FRACTION, ты пытаешься вернуть число типа double. Далее у тебя наверно выскочила ошибка о несоответсвии типа возвращаемого значения. Поэтому ты явно привела тип: FRACTION(sum), но тут дело в том, что неясно как преобразовать число sum в дробь FRACTION - это нужно отдельно делать перегрузку приведения типа, либо перегрузку конструктора.
А так вообще класс неверен. Дробь, это просто числитель и знаменатель - большего быть не должно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class FRACTION {
public:
  int a; // числитель
  int b; // знаменатель
  // Конструктор.
  FRACTION(int a_, int b_) : a(a_), b(b_)  {
  }
  
  FRACTION operator +( FRACTION f )  {
    FRACTION sum;
    sum.b = b * f.b;
    sum.a = a * f.b + f.a * b;
    return sum;
  }
};
Надо делать примерно так. Конечно можно добавить много-чего для оптимизации, но пока не стоит.
А вообще, чтобы сделать задание - достаточно было посмотреть как на бумажке складываются дроби в общем случае.
 
Текущее время: 19:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru