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

Как правильно перегрузить оператор для шаблона класса - C++

Восстановить пароль Регистрация
 
AceOfSpades
41 / 40 / 3
Регистрация: 14.08.2012
Сообщений: 231
09.04.2013, 21:11     Как правильно перегрузить оператор для шаблона класса #1
Имеется такой шаблон:
C++
1
2
3
4
template<int Low = 0, int High = 1000>
class Diapazon
{
};
Внутри него много всего, что уже работает, но я не могу перегрузить операции + - * / для случая, когда слева число, а справа объект этого класса.

Я пишу вне класса:
C++
1
2
3
4
Diapazon<>& operator+(int a, Diapazon& b)
{
    return b + a;
}
Но этот код работает только для переменных, объявленных так:
Diapazon<> a = 5;
А для таких Diapazon<0, 140> b = a + 34 уже не работает.
Как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 21:11     Как правильно перегрузить оператор для шаблона класса
Посмотрите здесь:

C++ Как перегрузить оператор индексации для указателя
C++ Перегрузить для класса оператор ==
Перегрузить для класса оператор == (много ошибок) C++
C++ Как правильно производится наследование элементов от шаблона класса? В чем ошибка?
C++ Как правильно перегрузить оператор [] =
Как перегрузить оператор для своего класса? C++
C++ Перегрузить оператор сложения для вектора

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
09.04.2013, 22:47     Как правильно перегрузить оператор для шаблона класса #2
C++
1
2
3
4
5
template<int A, int B>
Diapazon<A, B> operator+(int const a, Diapazon<A, B> const& b)
{
    /**/
}
Yandex
Объявления
09.04.2013, 22:47     Как правильно перегрузить оператор для шаблона класса
Ответ Создать тему
Опции темы

Текущее время: 17:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru