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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количество слов в строке. Не пойму что не так http://www.cyberforum.ru/cpp-beginners/thread833025.html
Здравствуйте! Есть задание: подсчитать количество одинаковых слов в строке. Делаю линейный поиск, но программа видает неверные результаты. Прошу, пожалуйста, исправьте мой код. #include <iostream>...
C++ Распечатать анкетные данные студентов, успевающих на 4 и 5 Распечатать анкетные данные студентов, успевающих на 4 и 5. с++ http://www.cyberforum.ru/cpp-beginners/thread833009.html
C++ Структура в структуре
Есть структура типа struct my{ struct size { float x: float y; }; float z; }
C++ Почему именно С++?
Всем привет. Кто может объяснить, почему везде востребованы программисты С++? Как эти программисты пишут оконные приложения, если все говорят, что .NET - отстой? Например разные анти вирусы и т.д....
C++ Исходники для DOS http://www.cyberforum.ru/cpp-beginners/thread832995.html
Доброе время суток. Недавно стал сильно увлекаться программированием на c++ под дос, но так как я еще новичок, и хотел бы разобраться в написании разного рода приложений. Если у кого-то есть,...
C++ Visual Studio перестал строить Добрый вечер. Такая проблема: сижу пишу прогу и внезапно Visual Studio перестал перестраивать решения. Пишет ========== Построение: успешно: 0, с ошибками: 0, без изменений: 1, пропущено: 0... подробнее

Показать сообщение отдельно
AceOfSpades
44 / 43 / 3
Регистрация: 14.08.2012
Сообщений: 247

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

09.04.2013, 21:11. Просмотров 332. Ответов 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 уже не работает.
Как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.