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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AceOfSpades
44 / 43 / 3
Регистрация: 14.08.2012
Сообщений: 246
#1

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

09.04.2013, 21:11. Просмотров 321. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 21:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно перегрузить оператор для шаблона класса (C++):

Как перегрузить оператор для своего класса? - C++
У меня есть класс, .h class Vertex { public: ~Vertex(); Vertex(); double GetX(); double GetY(); double GetZ(); void...

Как перегрузить оператор для класса. Хоть убейте, не могу - C++
Нужно поэлементно скопировать строки. Поэлементно, потому что задания другие, но мне нужно хотя бы это. Дальше уже легко. #include...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Перегрузить для класса оператор == - C++
немогу написать продолжение кода... нужно написать : перегрузить для данного класса оператор ==, вычисляющий пробег автомобиля с...

Перегрузить оператор присваивания для класса - C++
Помогите, пожалуйста. Требуется написать оператор присваивания для данного класса class ARRAY{ int size; double **m; public: ...

Как правильно перегрузить оператор [] = - C++
вот например в классе хранится массив, и допустим я хочу елементу массива в этом классе присвоить другое значение, тоесть так, class...

1
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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)
{
    /**/
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2013, 22:47
Привет! Вот еще темы с ответами:

Перегрузить для класса оператор == (много ошибок) - C++
не могу разабраться в чем ошибки при компиляции... помогите пожалуйста код: #include &quot;StdAfx.h&quot; #include &lt;conio.h&gt; #include...

Перегрузить оператор () для пользовательского класса Matrix - C++
Суть, есть класс matrix , есть int **p(матрица) и int row, col; , нужно перегрузить оператор () для вывода элемента массива, в задание...

Как перегрузить оператор "+" для шаблонного класса, инстанцированного разными типами? - C++
подскажите как перегрузить оператор &quot;+&quot; для шаблона , инстанцированных разными типами ...

Как перегрузить оператор индексации для указателя - C++
#define HIGH_H 0 #define LOW_H 1 #define OPEN_H 2 #define CLOSE_H 3 #define VOLUME_H 4 #define HER_H 5 class Candle { ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru