|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.08.2013, 13:29 | #21 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Если же не подниматься до таких высот то, операция умножения должна быть свойственна дробям. Но, чувствуется подмена понятий, между реальной возможностью сделать себе умножение и мифической возможностью правильно перегрузить умножение. Реально можно набацать обычных методов которые будут скрещивать ежей с ужами (банальное неявное преобразование числа к числу деленному на 1). И да если Вы почитываете умные книжки, то тоже должны знать, что перегрузка сама по себе вещь не самая удачная и эффективность ее внедрения и использования на совести программера.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
21.08.2013, 14:13 | #22 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Как в данном случае (для класса "Дробь") всё же поступить (я не имею ввиду решение задачи студента, а реальный класс):
1) Запретить умножать "целое число" на "дробь" - запретить неявное приведение типов (добавить explicit перед конструктором) - реализовать оператор умножения, как член-функцию класса "Дробь" 2) Разрешить умножать "целое число" на "дробь" - разрешить неявное приведение типов (не добавлять explicit перед конструктором) - реализовать оператор умножения, как свободную функцию (вне класса "Дробь") |
21.08.2013, 17:02 | #23 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Все что ты описываешь - хорошо, если система реально может работать с разными видами. Против MVC я ниче не имею, но вкручивать его куда-ни-попадя не стоит, это лишнее нагромождение, зачастую. Цитата:
|
||
21.08.2013, 17:27 | #24 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Цитата:
И почему опасно? |
|
21.08.2013, 17:48 | #25 | ||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Цитата:
Система с дробями работает в Scheme (там есть целые, дробные (в смысле дробь с палочкой между двумя целыми), дробные (в смысле числа с точкой) и комплексные). Хитрозадая система использует свое представление чисел (в общем случае без регистров процессора) и только когда операция укладывается в регистры, она и считается там.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 21.08.2013 в 17:51. |
||||
21.08.2013, 17:54 | #26 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Цитата:
Последний раз редактировалось 8Observer8; 21.08.2013 в 17:56. |
|
21.08.2013, 19:36 | #27 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Хотя, там был неверный пример ) компилятор сообщит об ошибке. Ну суть примерно ясна, наверное. Примеры всегда можно найти в интернете: http://stackoverflow.com/questions/1...word-in-c-mean Цитата:
Последний раз редактировалось rrrFer; 21.08.2013 в 20:42. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с классами | АндрейBAN | C# (си шарп) | 4 | 17.12.2012 13:10 |
Работа с классами на С++ | darinadarina | Помощь студентам | 1 | 08.05.2012 18:34 |
Работа с классами | petrovich2005 | Помощь студентам | 2 | 24.06.2011 17:32 |
Работа с классами | Superlotles | Общие вопросы C/C++ | 6 | 16.06.2010 17:15 |
С++: работа с классами | MR_Andrew | Общие вопросы C/C++ | 23 | 01.04.2010 23:46 |