Вопросы с меткой [перегрузка-операторов]

Перегрузка операторов — это возможность языка программирования, которая позволяет создавать собственные реализации операторов в зависимости от типов операндов. Некоторые языки, кроме переопределения существующих, позволяют создавать новые операторы.

Фильтрация
Сортировка
Метки
-2 голоса
0 ответов
29 показов

Проблема в реализации оператора перегрузки

//здесь перегрузка оператора вывода template<typename T> std::ostream& operator<<(std::ostream &out, const T &value) { out << value; // здесь я вызываю оператор ...
Александр Тымин's user avatar
1 голос
1 ответ
24 показа

Как правильно добавить оператор своей структуре данных Python?

Предположим есть класс vector2: class v2(): x: int y: int def __init__(self, x=0, y=0): self.x = x; self.y = y def __add__(self, other): self.x += other.x; self.y += ...
OkeJS's user avatar
  • 45
5 голосов
2 ответа
108 показов

Правильная перегрузка оператора [] (с++)

Передо мной стоит задача написать свой ассоциативный массив и перегрузить для него оператор индексирования []. Я его написал, выглядит перегрузка так: template<class Key, class Data> Data& ...
Никита's user avatar
0 голосов
1 ответ
55 показов

Уничтожение объекта, создаваемого внутри функции перед его возвратом из функции

В попытке написать собственный класс string с реализованной конкатенацией и возвратом длины строки, столкнулся со следующей проблемой: вроде бы перегрузил оператор сложения, который создает внутри ...
Али Алисултанов's user avatar
0 голосов
1 ответ
55 показов

перегрузка операторов c++

Потихоньку разбираюсь с C++. Решил реализовать матрицу используя только "встроенные" возможности C++. Хочу получать значение своей "матрицы" по двум индексам (как-то вот так: m[i][...
egorics's user avatar
0 голосов
1 ответ
53 показа

Как можно избежать огромного количества перегрузок операторов c#?

struct Vector2 { public Vector2(float x, float y) { this.x = x; this.y = y; } public float x; public float y; public static Vector2 operator+(Vector2 vector2, ...
Profertin's user avatar
0 голосов
1 ответ
146 показов

Почему операторы ввода вывода необходима перегружать через дружественные функции?

Знаю, что необходимо перегружать через дружественные функции, но не до конца понимаю почему.
Anton Koktysh's user avatar
0 голосов
0 ответов
38 показов

Перегрузка оператора сложения двух матриц

Имеется такая задача: перегрузить оператор сложения двух матриц таким образом, чтоб перегруженный оператор принимал размер блока и выполнял блочную обработку с помощью std::async и фьючерсов. Как это ...
moonruleni9ne's user avatar
0 голосов
0 ответов
44 показа

В чем разница между перегрузками оператора []? c++

Есть код: double& operator[](int index); double operator[](int index)const; Объясните, пожалуйста, в чём разница?
Первачок's user avatar
1 голос
0 ответов
66 показов

Запись вектора классов в файл QT C++

Требуется записать и считать из файла вектор классов (QT C++) Родительский класс: class Pentagon :public Figure { private: double vertex; QString name = "pentagon"; int stack; ...
Лев Трейде's user avatar
0 голосов
2 ответа
47 показов

C++ Как перегрузить метод так, чтобы при вызове из списка (родительского) вызывался дочерний метод

Я бы хотел чтобы дочерние структуры были в списке с общим типом чтобы позже вызывать для них метод с похожим именем(и аргументами) но разными реализациями Через virtual и override не получильсь: #...
Михаил's user avatar
0 голосов
1 ответ
62 показа

Перегрузка оператора сравнения своего класса в C++ Builder 6

Пытаюсь перегрузить оператор сравнения своего класса: class Square { int x; // some data public: // some methods int getX() {return x;} bool operator== (Square &sq); }; bool Square::...
AtriLux's user avatar
0 голосов
1 ответ
43 показа

Множество Объектов и перегрузка оператора "<"

Имеется вот такой код: #include <iostream> #include <set> using namespace std; using ulli = unsigned long long; using lli = long long; using lld = long double; using usi = unsigned short;...
Владимир Попов's user avatar
0 голосов
2 ответа
92 показа

Для чего нужно возвращаемое значение в перегрузки операторов?

Всем привет! Не могу никак разобраться с перегрузкой операторов в C++. Есть некоторый код, который я хочу привести в пример, его я добыл на одном из ресурсов, где объяснялась тема перегрузки ...
Zjoss's user avatar
  • 1
0 голосов
1 ответ
39 показов

Как решить проблему с перегрузкой оператора?

У меня имеется такая перегрузка оператора для класса точка: Point operator * (double c) { Point temp; temp.x = this -> x * c; temp.y = this -> y * c; temp.z = ...
Bububeba's user avatar
0 голосов
1 ответ
73 показа

Как перегрузить оператор +=?

Проблема заключается в том, что значение C остается тем же самым #include <iostream> #include <vector> #include <algorithm> using namespace std; class Number { private: int ...
greymaster's user avatar
0 голосов
2 ответа
175 показов

чем отличается присваивание от инициализации?

class sample { char *s; public: sample() { s = new char ('\0'); cout << "Вызвался конструктор " <<this<< endl; } sample(const sample&...
Максим's user avatar
0 голосов
1 ответ
24 показа

Перегрузка префиксных и постфиксных инкрементов/декрементов в контексте присвоения объектов друг другу

Есть задача - написать класс некоего ящика с длиной, шириной, высоток. также нужно для него выполнить перегрузку операций =, ++ и -- в префиксных и постфиксных формах. В разных источниках описаны ...
Stepan Sokol's user avatar
  • 1,191
0 голосов
1 ответ
87 показов

Помогите найти проблему в операторе умножения для вектора

Писал код для возведения вектора во вторую степень. Перегрузил оператор для вектора, но столкнулся с проблемой: компилятор ошибок не видит, но программа не работает. Примеры ошибок: _Xlength_error(&...
Vladislav4P's user avatar
0 голосов
1 ответ
114 показов

Транспонирование матрицы с динамическим выделением памяти

Пишу прогу по транспонированию матрицы. После написания алгоритма, решил также выделить память динамически. Сделал. Но чета ломается прога в случае, когда num_of_rows не равно num_of_cols. И есть ...
Stan's user avatar
  • 319
0 голосов
1 ответ
50 показов

Не получается перегрузить оператор сложения в классе. Process finished with exit code -1073740940

Задание состоит в том, чтобы перегрузить оператор + чтобы он работал как метод Push(). Этот метод я реализовал и все работает, есть и перегрузка оператора присваивания, программа компилируется без ...
Mykola's user avatar
  • 15
1 голос
2 ответа
1k показов

Создать класс «множество целых чисел»

Я решил данную задачу через динамический массив, но мне бы хотелось ее переделать: заменить массив на контейнер vector. Вопрос заключается в том, что мне не особо понятно, как работать с ...
Miracle-'s user avatar
  • 367
0 голосов
0 ответов
65 показов

Класс матрица. Перегрузка оператора /= C++

в перегрузке /= возникает ошибка: В функции-члене «RealMatrix RealMatrix::operator/=(RealMatrix&)»: /home/renata/UNIVERSITY/ProgLang/3_sem/RealMatrix/src/real_matrix.cpp:185:21: ошибка: ...
Рената Талачева's user avatar
0 голосов
1 ответ
77 показов

Перегрузка [][] шаблонного класса матрица

У меня есть шаблонный класс TMatrix template <class Type> class TMatrix { Type** array; int countLine; //Количество строчек int countColum; //Количество столбцов Public: \\... } И другой класс ...
Nayt's user avatar
  • 21
0 голосов
2 ответа
53 показа

Перегрузка оператора + для итератора на C++ с исключением out_of_range

Необходимо реализовать перегрузку оператора + для собственного итератора класса. Проблема в выкидывании ошибки, если мы уйдём за границу итератора. Вот код: class MatrixRow { private: size_t ...
kurumi tokisaki's user avatar
1 голос
1 ответ
43 показа

Перегрузка операторов. Указатель на возвращаемое значение

Только начал изучать перегрузку операторов и столкнулся со след. проблемой. В программе выполняется умножение матрицы на целое число, перегружал два оператора * и =. Судя по всему, проблема в доступе ...
ally's user avatar
  • 63
0 голосов
1 ответ
44 показа

Создание всевозможных операторов перегрузки C++

существует класс, в котором я хочу реализовать операторы перегрузок для базовых математических действий. Я столкнулся с такой проблемой: функции операторов работают по одному и тому же принципу, но у ...
kurumi tokisaki's user avatar
0 голосов
1 ответ
34 показа

Как подключить свой контейнер к алгоритму max_element?

Я реализую свой контейнер. Мне нужно сделать его совместимым с алгоритмами из algorithm. Я решил начать с алгоритма max_element. Я в своем контейнере реализовал свой итератор, и передаю в max_element ...
fhsh's user avatar
  • 5
0 голосов
1 ответ
67 показов

100ричная система счисления и наличие ляпов в программе

Вот уже некоторое время занимаюсь решением задач на классы и на этот раз, решая задачу про числа в 100ричной системе счисления, данная задача полностью решена, все тесты проходят. Но было сказано, что ...
Stan's user avatar
  • 319
0 голосов
1 ответ
42 показа

Перегрузка оператора== не имеет доступа к приватному полям [закрыт]

bool operator== (book a, book b) { if (a.code == b.code) { return true; } else { return false; } } Перегрузка должна сравнивать объекты по одному полю, но поле закрыто для неё.
enderline13's user avatar
0 голосов
1 ответ
198 показов

Идиома Copy-and-Swap в С++

Уже не в первый раз на моем аккаунте затрагивается Вопрос про задачу о ломаной. На этот раз я хотел бы обсудить "Copy-and-Swap Idiom in C++" в моем коде. Условие задачи можете прочитать тут, ...
Stan's user avatar
  • 319
0 голосов
1 ответ
58 показов

Перегрузка операторов в С++

Есть три класса Matrix - матрица, VectorRow - вектор строка и VectorColumn - вектор столбец. Если мы перемножим объекты vectorRow *= vectorColumn, то на выходе по законам природы у нас будет матрица. ...
gleb_work's user avatar
5 голосов
1 ответ
149 показов

Как правильно перегрузить оператор <=> с++20

Я пытаюсь перегрузить оператора <=>, но следующий код выдает ошибку компиляции error: no match for ‘operator==’ (operand types are ‘example’ and ‘example’) struct example { int a{0}; ...
Denver Toha's user avatar
  • 2,595
0 голосов
1 ответ
141 показ

Класс "Ломаная на плоскости"

Условие и постановка задачи: Ломаная на плоскости задаётся последовательностью пар координат, определяющих положение точек этой ломаной на координатной плоскости. Для двух ломаных определяется сумма — ...
Stan's user avatar
  • 319
-2 голоса
1 ответ
46 показов

Не могу поймать момент когда срабатывает перегруженный оператор присваивания, и плюс что можно оптимизировать

#include <cstring> #include <iostream> #include <algorithm> #include <vector> #include <Windows.h> #include <map> using namespace std; class String { private: ...
podpivas's user avatar
0 голосов
1 ответ
87 показов

Как объединить несколько операторов класса со схожей логикой, но разными операторами в один

Возможно ли объединить несколько операторов класса со схожей логикой, но разными операторами в один, чтобы было меньше копипаста. Например, есть операторы +=, '-=`: class Matrix { public: Functor&...
jjjjake's user avatar
1 голос
1 ответ
68 показов

python: перегрузка сложения и т.д. для родительского класса, но возвращение результата как от дочернего

подскажите как корректно решить следующую ситуацию: есть базовый класс MyBaseClass с перегруженным оператором __add__ и есть дочерний класс MyChildClass, который в конструкторе выставляет свои ...
Zhihar's user avatar
  • 37.5k
0 голосов
1 ответ
119 показов

перегрузка оператора преобразования типов С++

Помогите, пожалуйста, решить задачу: Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса способны хранить в себе значения следующих типов: int, double, String(строка – ...
Ahmed_08's user avatar
  • 119
0 голосов
0 ответов
105 показов

Проблема с перегрузкой оператора умножения для матриц на python

Начал серьёзное обучение питону. Есть цель написать калькулятор матриц, для этого был создан класс Matrix: import numpy as np import random as rd class Matrix: row = None column = None arr ...
Bekj's user avatar
  • 1
1 голос
1 ответ
927 показов

Перегрузка операторов вне и внутри класса

В ТЗ моей работы указано, что перегрузка операторов должна выполняться как вне, так и внутри класса. Я не совсем понимаю как это работает и хотел попросить Вашего совета. В моем понимании перегрузка ...
J1st's user avatar
  • 13
0 голосов
2 ответа
81 показ

Происходит утечка памяти в operator=

BaseString& operator=(BaseString& s) { len = s.len; p = new char[s.capacity]; capacity = s.capacity; for (int i = 0; s.p[i] != '\0'; i++) p[i] = s.p[i]; p[len] = '\...
pik's user avatar
  • 21
0 голосов
1 ответ
23 показа

Неправильно сработал перегруз оператора

Я перегрузил оператор инкремента специально для класса, но при постфиксном инкременте компилятор показывает только первый c1.getCount() после чего выводит:"(процесс 17100) завершил работу с кодом ...
Максим Валеска's user avatar
0 голосов
1 ответ
101 показ

Можно ли перегрузить оператор static_cast вне класса?

Можно ли перегрузить оператор static_cast вне класса? К примеру операторы +, - и тд, можно перегрузить в локальном нэймспейсе не как член класса, можно сделать что то подобное например с оператором ...
Denver Toha's user avatar
  • 2,595
0 голосов
0 ответов
26 показов

Как перегрузить унарный оператор - с++?

Как перегрузить унарный оператор - с++? То-есть оператор, позволяющий меня знак числа Вот прмер int a = 5; a = -a;
Denver Toha's user avatar
  • 2,595
-1 голос
1 ответ
42 показа

Проблема с перегрузкой [закрыт]

Помогите, пожалуйста. Нужная переменная не перегружается. Class User: (наследуемый от Account) void User::resetAccount(){ !Account(); } Class Account (Наследуемый от Money) //Account.h ...
codeneon's user avatar
-1 голос
1 ответ
131 показ

Перегрузка оператора постфиксного инкремента

У меня есть класс class Match { private: char* team1 = new char[25]; char* team2 = new char[25]; char* month = new char[25]; int number; public: Match(); Match(const char*, ...
Khanem's user avatar
  • 1
0 голосов
1 ответ
40 показов

Перегрузка оператор []

Мне нужно перегрузить оператор [] в моём классе который бы вернул ссылку на 1 элемент вектора типа char. Чтобы я мог написать следующее: class myclass; myclass[0] = 'f'; Важно: Оператор ...
bloody's user avatar
  • 98
0 голосов
1 ответ
74 показа

Оператор присвоения для двусвязного списка

Пытаюсь перегрузить оператор присваивания для двухсвязного списка. При запуске выдаёт ошибку:"Вызвано исключение: нарушение доступа для чтения.pThis->m_data-> было 0xDDDDDDDD." ...
Nir_787's user avatar
  • 47
0 голосов
1 ответ
36 показов

Вопрос по перегрузке оператора в ООП С++

Есть такой код class CustomFoo { virtual void do_stuff()=0; }; class Foo: CustomFoo { void do_staff() {....} final; }; class FooWrapper { vector<CustomFoo*> foos; ...
Дима Зверинцев's user avatar
1 голос
2 ответа
146 показов

Как вызвать класс через скобки из себя?

Такая проблема, у нас есть класс, который инициализируется с какими-то данными. После я хочу вызвать его как функцию, с передачей параметра, числа, как переопределить wr(14) функцию class Work: ...
greymaster's user avatar

1
2 3 4 5
7