![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
likenix |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
Всем привет!
Помогите разобраться с перегрузкой операторов. Хочу реализовать класс который будет представлять тип double с определенной точностью. Еще нужна возможность преобразования в тип int и double.
При попытке выполнить код:
Получаю:
|
||||||
|
|||||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
убери это, компилятор путается что во что преобразовывать |
|||
|
||||
likenix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
baldina, я тоже догадался что он путается
но мне нужны операции типа double s = SDouble<2>(3.44) или int s = SDouble<2>(3) |
|||
|
||||
Nikituki |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
||||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
как насчет
|
||||
|
|||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
имхо класс можно покороче сделать и даже ввести таки преобразование в double/int (в этом случае надо запретить неявное преобразование в конструкторе - explicit). дружить операторы с классом не обязательно, все можно определить через базовые операции без доступа к структуре класса
а вообще велосипеды уже изобретены, можно готовым попользоваться:
Это сообщение отредактировал(а) baldina - 16.10.2009, 17:21 |
||||
|
|||||
likenix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
baldina, SDouble шаблон типа данных.
Vector<int>(23, 45); Vector<double>(23.565, 45.5656); Vector<Sdouble<2>>(23.565, 45.5656); Добавлено через 4 минуты и 8 секунд baldina, спасибо за идею с boost. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
я заметил ![]() а к чему это замечание? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |