Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Eraston
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182

Возможно ли переопределение операторов для пользовательских типов?

30.07.2015, 17:33. Показов 981. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно преследуемая цель:
Определить свой тип int - myint.
Переопределить для него операторы как надо. Ну, например, надо мне при операции сложения не алгебраически складывать значения, а извранически: 0x0203 + 0x0501 = 0x0308.

Или же иной способ создания своего типа со своими операциями.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2015, 17:33
Ответы с готовыми решениями:

Шаблон для пользовательских типов данных
В общем имееются две функции. Одна принимает тип данных string другая char. Функции выполняют одну и ту же задачу. Вопрос как сделать...

Обработка исключений в классах для пользовательских типов
Здорова господа! Запустил токо класс String тестю и тут у меня вылетело исключение выход за пределы индекса, и программа тупо аварийно...

Перегрузка операторов для стандартных типов/Сложение char[] и int
Добрый день. Захотелось узнать, а можно ли написать оператор сложения для char и char? Пробовал так: #include <iostream> ...

8
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
30.07.2015, 17:38
Eraston, Возможно.
C++
1
2
3
4
5
6
7
class A
{
public:
   A operator + (const A&);
   A operator * (const A&);
   // etc
};
0
 Аватар для Eraston
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
30.07.2015, 18:02  [ТС]
хз. Переполнение стека
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
30.07.2015, 18:36
Тут не такие крутые хацкеры чтобы в монитор к тебе глядеть. Листинг давай.
0
 Аватар для Eraston
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
30.07.2015, 18:58  [ТС]
C++
1
2
3
    res operator+ ( const res& a ){
        return *this + a;
    }
Хотя бы это, будет вызывать рекурсию.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
30.07.2015, 19:04
Цитата Сообщение от Eraston Посмотреть сообщение
Хотя бы это, будет вызывать рекурсию.
Естественно. Но перегрузка тут не при чем, написанное - исключительно воля программиста, т.е. тебя. Ты захотел сделать рекурсию, ты ее сделал

Даю подсказку:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class A
{
public:
    A(int val) : mval(val) {}
 
    A operator + (const A& a) const
    {
         return A(mval + a.mval);
    }
private:
    int mval;
};
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
30.07.2015, 19:04
Цитата Сообщение от Eraston Посмотреть сообщение
Хотя бы это, будет вызывать рекурсию.
Это логично. А зачем ты так пишешь? В чём сакральный смысл этой записи?
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
30.07.2015, 19:08
Цитата Сообщение от Eraston Посмотреть сообщение
Хотя бы это, будет вызывать рекурсию.
Окей, ты разобрался и сообщил нам. Теперь поправь.
0
 Аватар для Eraston
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
30.07.2015, 19:14  [ТС]
В общем, ок. Спасибо, возьму на заметку.
Просто сейчас подумал, в моём случае оно по сути и не нужно =)

Добавлено через 3 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
return A(mval + a.mval);
Не совсем очевидный момент для меня оказался, действительно, сложение складываемого со слагаемым вызывает сложение складываемого со слагаемым вызывает... Потом догнал, что слагаемые надо складывать в третью величину.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2015, 19:14
Помогаю со студенческими работами здесь

Переопределение операторов С++
Помогите разобраться с переопределением операторов, как что и куда записывается, какие параметры. Если можно, ссылку на полезную статью, в...

Переопределение операторов
Еще раз об этом интересном вопросе. У меня есть матрицы , условно назовём их тип matrix, есть библиотека, имеющая в своём составе функции...

переопределение операторов
Писал прогу с переопределнием операторов, всё работало, теперь когда мне понадобилась та либа, в ней ничего не работает =( ...

переопределение операторов
Стоит следующая задача. Надо сделать массив чар, которые представляют собой строку (специально делать так, а не через string) и надо...

Переопределение операторов
Плиз помогите сделать задачку.. Написать класс StrangeInt для которого нижеследующий код StrangeInt x = 5; StrangeInt y = 3; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru