-
- Еще одна фигня. Скрипач(284 знак., 07.01.2012 00:36)
- Прототипы-то разные. Кстати, я бы сделал членом strict operator* (T right) const; (реализует strict * T) и отдельно никаким не френдом вообще inline strict operator* (T left, strict right) { return right * left; } - как-то виднее, что второй =ReAl=(36 знак., 07.01.2012 00:49, )
- И ждут вас там грабли :) Описывать-то такой inline нужно вне блока class,правильно? И как быть с подстановкой типа? Для каждого отдельно? :))) - Скрипач(07.01.2012 00:52)
- Не нужно искать грабли там где их нет diper(391 знак., 07.01.2012 01:00)
- А теперь пишем описание класса с подстановкой и думаем. - Скрипач(07.01.2012 01:04)
- Ня diper(356 знак., 07.01.2012 02:05)
- Спасибо. А почему тогда не проходит во это: Скрипач(739 знак., 07.01.2012 13:00 - 13:09)
- Во вторых накой ей параметр, пусть свое значение выдает. diper(226 знак., 07.01.2012 16:57)
- Во первых функцию можно сделать методом diper(256 знак., 07.01.2012 16:55)
- Уже обсуждали. VAL(a+b) - Скрипач(07.01.2012 17:07)
- А вот так не нравится? (a+b).VAL() - diper(07.01.2012 17:11)
- Уже обсуждали. VAL(a+b) - Скрипач(07.01.2012 17:07)
- Ну тот шаблонизированный оператор — не friend, его в класс вписывать не нужно. А тут... ReAl(2226 знак., 07.01.2012 14:06)
- История из жизни вспомнилась. Скрипач(546 знак., 07.01.2012 14:29 - 14:32)
- И еще меня заставляют учить Си. Да я посмотрел тут примеры: t, b и вы все мне заясняете про волшебные числа и асм-отстой. Да асм проще некуда. Все понятно. Все действия прозрачны. Если пишут на нем понятно... - mazur(07.01.2012 20:30)
- Чем выше уровень программиста, тем ниже уровень на котором он программирует :> - Snaky(08.01.2012 03:32)
- Господь Бог таки программист?! ФК0 прав?! - T.Дocтoeвcкий(08.01.2012 04:02, ссылка)
- Это не Си. И это не примеры. Это мозговой штурм. Зацепили, кстати, вещи весьма нетривиальные. - Скрипач(07.01.2012 20:57)
- Чем выше уровень программиста, тем ниже уровень на котором он программирует :> - Snaky(08.01.2012 03:32)
- И еще меня заставляют учить Си. Да я посмотрел тут примеры: t, b и вы все мне заясняете про волшебные числа и асм-отстой. Да асм проще некуда. Все понятно. Все действия прозрачны. Если пишут на нем понятно... - mazur(07.01.2012 20:30)
- История из жизни вспомнилась. Скрипач(546 знак., 07.01.2012 14:29 - 14:32)
- Спасибо. А почему тогда не проходит во это: Скрипач(739 знак., 07.01.2012 13:00 - 13:09)
- Ня diper(356 знак., 07.01.2012 02:05)
- А теперь пишем описание класса с подстановкой и думаем. - Скрипач(07.01.2012 01:04)
- Не нужно искать грабли там где их нет diper(391 знак., 07.01.2012 01:00)
- И ждут вас там грабли :) Описывать-то такой inline нужно вне блока class,правильно? И как быть с подстановкой типа? Для каждого отдельно? :))) - Скрипач(07.01.2012 00:52)
- Прототипы-то разные. Кстати, я бы сделал членом strict operator* (T right) const; (реализует strict * T) и отдельно никаким не френдом вообще inline strict operator* (T left, strict right) { return right * left; } - как-то виднее, что второй =ReAl=(36 знак., 07.01.2012 00:49, )
- Кстати, внутри класса для одного класса не обязательно friend с аргументом, достаточно T RAW_VALUE() const { return val; } и вызывать x.RAW_VALUE(). Даже если так, как сейчас — добавть в аргумент RAW_VALUE(const strict a), чтобы можно было к =ReAl=(32 знак., 06.01.2012 22:16, )
- Затолкать все в один enum - diper(06.01.2012 16:34)
- Нелізэ :) Основных типов будет полтора десятка. Вариантов от двух то двадцати. А добавить потом что-то... - Скрипач(06.01.2012 16:43)
- В чем проблема добавить? Названия то разные. - diper(06.01.2012 21:02)
- Думай не как писать, а как ЧИТАТЬ. - Скрипач(06.01.2012 21:12)
- В чем проблема добавить? Названия то разные. - diper(06.01.2012 21:02)
- Нелізэ :) Основных типов будет полтора десятка. Вариантов от двух то двадцати. А добавить потом что-то... - Скрипач(06.01.2012 16:43)
- namespace спасет - Snaky(06.01.2012 16:29, ссылка)
- На самом деле это всё (с операторами и т.п.) -- плохая идея. Keep it simple, Stupid! ООП подход не единственно верный и в ООП легко закопаться слишком глубоко. - fk0(06.01.2012 16:23)
- Абсолютно с вами согласен, коллега :) Читайте начальное сообщение. Скрипач(48 знак., 06.01.2012 16:26)
- Смущает один момент - рано или поздно потребуются операции между разными строгими типами. Или хотя бы помножить на константу. Что делать тогда? - diper(06.01.2012 20:59)
- power_t operator * (const current_t& I, const voltage_t& U); объявляется другом для классов current_t и voltage_t и имеет доступ к внутренностям на чтение. Т.е. было бы желание, можно всю физику загнать. - =ReAl=(06.01.2012 22:11, )
- friend T RAW_VALUE(strict a). По ссылке, в функции main - Скрипач(06.01.2012 21:02 - 21:08, ссылка)
- Смущает один момент - рано или поздно потребуются операции между разными строгими типами. Или хотя бы помножить на константу. Что делать тогда? - diper(06.01.2012 20:59)
- Абсолютно с вами согласен, коллега :) Читайте начальное сообщение. Скрипач(48 знак., 06.01.2012 16:26)
- Еще одна фигня. Скрипач(284 знак., 07.01.2012 00:36)