Форум программистов, компьютерный форум, киберфорум
Наши страницы

Создать класс с именем Rational для выполнения арифметических действий с дробями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите переписать с C# на c++ http://www.cyberforum.ru/cpp-beginners/thread335936.html
Помогите переписать на c++. хоть языки чем то похожи, однако я не доконца понял. В архиве есть всё, что нужно для работы, в том числе уже скомпилированное приложение. Но мне c++ надо. Если...
C++ Помощь в обучении программированию доброго здравия всем форумчанам! я самостоятельно изучаю С++(по книге Дейтла и Дейтла), стараюсь понять и вникнуть во все самостоятельно, много гуглю, но бывают моменты, когда то, что написано в... http://www.cyberforum.ru/cpp-beginners/thread335935.html
C++ Floating point overflow
помогите с проблемой-создал программу для вычисления уравнений с двумя неизвестными и выдает ошибку Floating point overflow вот кодvoid __fastcall TForm1::Button1Click(TObject *Sender) { int...
C++ Повреждение автомобиля: реализация с помощью ООП
как лучше реализовать идею... к примеру движение автомобиля и столкновение с препятствием и выводом в консоли (Ваш авто поврежден) или ... как еще...
C++ перебор чисел и умножение http://www.cyberforum.ru/cpp-beginners/thread335879.html
помогите плиз,делаю программу для вычисления уравнений с двумя неизвестными и мне надо перебирать числа по тысячным т.е. 0.001;0.002 и т. д. и умножать переменную на эти числа получилось только такое...
C++ номер объекта Недавно начал изучать классы , и возник такой вопрос: Как создать класс с двумя полями, где одно поле хранит порядковый номер, а второе общее кол-во объектов. подробнее

Показать сообщение отдельно
soft.creator
104 / 104 / 4
Регистрация: 17.10.2010
Сообщений: 283
25.07.2011, 00:00
Ужас в том, что класс Rational должен содержать представление одного числа, а не трех.
Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Rational
{
public:
  Rational(int a = 0, int b = 1);
  Rational plus(Rational r);
private:
  int ch;
  int zn;
};
 
Rational Rational::plus(Rational r)
{
  return Rational(r.ch * zn + r.zn * ch, r.zn * zn);
}
И гляньте совет ValeryS, он абсолютно верный.

P.S. Как уже упоминалось выше, арифметические операции обычно реализуют с помощью перегрузки операторов
Кстати, ввод/вывод объекта Rational тоже неплохо бы реализовать как перегрузку операторов <<, >>
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru