Вопросы с меткой [перегрузка-операторов]
Перегрузка операторов — это возможность языка программирования, которая позволяет создавать собственные реализации операторов в зависимости от типов операндов. Некоторые языки, кроме переопределения существующих, позволяют создавать новые операторы.
347
вопросов
-2
голоса
0
ответов
29
показов
Проблема в реализации оператора перегрузки
//здесь перегрузка оператора вывода
template<typename T>
std::ostream& operator<<(std::ostream &out, const T &value)
{
out << value; // здесь я вызываю оператор ...
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 += ...
5
голосов
2
ответа
108
показов
Правильная перегрузка оператора [] (с++)
Передо мной стоит задача написать свой ассоциативный массив и перегрузить для него оператор индексирования []. Я его написал, выглядит перегрузка так:
template<class Key, class Data>
Data& ...
0
голосов
1
ответ
55
показов
Уничтожение объекта, создаваемого внутри функции перед его возвратом из функции
В попытке написать собственный класс string с реализованной конкатенацией и возвратом длины строки, столкнулся со следующей проблемой: вроде бы перегрузил оператор сложения, который создает внутри ...
0
голосов
1
ответ
55
показов
перегрузка операторов c++
Потихоньку разбираюсь с C++. Решил реализовать матрицу используя только "встроенные" возможности C++. Хочу получать значение своей "матрицы" по двум индексам (как-то вот так: m[i][...
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, ...
0
голосов
1
ответ
146
показов
Почему операторы ввода вывода необходима перегружать через дружественные функции?
Знаю, что необходимо перегружать через дружественные функции, но не до конца понимаю почему.
0
голосов
0
ответов
38
показов
Перегрузка оператора сложения двух матриц
Имеется такая задача: перегрузить оператор сложения двух матриц таким образом, чтоб перегруженный оператор принимал размер блока и выполнял блочную обработку с помощью std::async и фьючерсов. Как это ...
0
голосов
0
ответов
44
показа
В чем разница между перегрузками оператора []? c++
Есть код:
double& operator[](int index);
double operator[](int index)const;
Объясните, пожалуйста, в чём разница?
1
голос
0
ответов
66
показов
Запись вектора классов в файл QT C++
Требуется записать и считать из файла вектор классов (QT C++)
Родительский класс:
class Pentagon :public Figure
{
private:
double vertex;
QString name = "pentagon";
int stack;
...
0
голосов
2
ответа
47
показов
C++ Как перегрузить метод так, чтобы при вызове из списка (родительского) вызывался дочерний метод
Я бы хотел чтобы дочерние структуры были в списке с общим типом чтобы позже вызывать для них метод с похожим именем(и аргументами) но разными реализациями
Через virtual и override не получильсь:
#...
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::...
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;...
0
голосов
2
ответа
92
показа
Для чего нужно возвращаемое значение в перегрузки операторов?
Всем привет!
Не могу никак разобраться с перегрузкой операторов в C++.
Есть некоторый код, который я хочу привести в пример, его я добыл на одном из ресурсов, где объяснялась тема перегрузки ...
0
голосов
1
ответ
39
показов
Как решить проблему с перегрузкой оператора?
У меня имеется такая перегрузка оператора для класса точка:
Point operator * (double c) {
Point temp;
temp.x = this -> x * c;
temp.y = this -> y * c;
temp.z = ...
0
голосов
1
ответ
73
показа
Как перегрузить оператор +=?
Проблема заключается в том, что значение C остается тем же самым
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Number {
private:
int ...
0
голосов
2
ответа
175
показов
чем отличается присваивание от инициализации?
class sample {
char *s;
public:
sample()
{
s = new char ('\0');
cout << "Вызвался конструктор " <<this<< endl;
}
sample(const sample&...
0
голосов
1
ответ
24
показа
Перегрузка префиксных и постфиксных инкрементов/декрементов в контексте присвоения объектов друг другу
Есть задача - написать класс некоего ящика с длиной, шириной, высоток.
также нужно для него выполнить перегрузку операций =, ++ и -- в префиксных и постфиксных формах.
В разных источниках описаны ...
0
голосов
1
ответ
87
показов
Помогите найти проблему в операторе умножения для вектора
Писал код для возведения вектора во вторую степень. Перегрузил оператор для вектора, но столкнулся с проблемой: компилятор ошибок не видит, но программа не работает.
Примеры ошибок:
_Xlength_error(&...
0
голосов
1
ответ
114
показов
Транспонирование матрицы с динамическим выделением памяти
Пишу прогу по транспонированию матрицы. После написания алгоритма, решил также выделить память динамически. Сделал. Но чета ломается прога в случае, когда num_of_rows не равно num_of_cols. И есть ...
0
голосов
1
ответ
50
показов
Не получается перегрузить оператор сложения в классе. Process finished with exit code -1073740940
Задание состоит в том, чтобы перегрузить оператор + чтобы он работал как метод Push(). Этот метод я реализовал и все работает, есть и перегрузка оператора присваивания, программа компилируется без ...
1
голос
2
ответа
1k
показов
Создать класс «множество целых чисел»
Я решил данную задачу через динамический массив, но мне бы хотелось ее переделать: заменить массив на контейнер vector. Вопрос заключается в том, что мне не особо понятно, как работать с ...
0
голосов
0
ответов
65
показов
Класс матрица. Перегрузка оператора /= C++
в перегрузке /= возникает ошибка:
В функции-члене «RealMatrix RealMatrix::operator/=(RealMatrix&)»:
/home/renata/UNIVERSITY/ProgLang/3_sem/RealMatrix/src/real_matrix.cpp:185:21: ошибка: ...
0
голосов
1
ответ
77
показов
Перегрузка [][] шаблонного класса матрица
У меня есть шаблонный класс TMatrix
template <class Type>
class TMatrix {
Type** array;
int countLine; //Количество строчек
int countColum; //Количество столбцов
Public:
\\...
}
И другой класс ...
0
голосов
2
ответа
53
показа
Перегрузка оператора + для итератора на C++ с исключением out_of_range
Необходимо реализовать перегрузку оператора + для собственного итератора класса.
Проблема в выкидывании ошибки, если мы уйдём за границу итератора.
Вот код:
class MatrixRow
{
private:
size_t ...
1
голос
1
ответ
43
показа
Перегрузка операторов. Указатель на возвращаемое значение
Только начал изучать перегрузку операторов и столкнулся со след. проблемой. В программе выполняется умножение матрицы на целое число, перегружал два оператора * и =. Судя по всему, проблема в доступе ...
0
голосов
1
ответ
44
показа
Создание всевозможных операторов перегрузки C++
существует класс, в котором я хочу реализовать операторы перегрузок для базовых математических действий. Я столкнулся с такой проблемой: функции операторов работают по одному и тому же принципу, но у ...
0
голосов
1
ответ
34
показа
Как подключить свой контейнер к алгоритму max_element?
Я реализую свой контейнер. Мне нужно сделать его совместимым с алгоритмами из algorithm. Я решил начать с алгоритма max_element. Я в своем контейнере реализовал свой итератор, и передаю в max_element ...
0
голосов
1
ответ
67
показов
100ричная система счисления и наличие ляпов в программе
Вот уже некоторое время занимаюсь решением задач на классы и на этот раз, решая задачу про числа в 100ричной системе счисления, данная задача полностью решена, все тесты проходят.
Но было сказано, что ...
0
голосов
1
ответ
42
показа
Перегрузка оператора== не имеет доступа к приватному полям [закрыт]
bool operator== (book a, book b) {
if (a.code == b.code) { return true; }
else { return false; }
}
Перегрузка должна сравнивать объекты по одному полю, но поле закрыто для неё.
0
голосов
1
ответ
198
показов
Идиома Copy-and-Swap в С++
Уже не в первый раз на моем аккаунте затрагивается Вопрос про задачу о ломаной. На этот раз я хотел бы обсудить "Copy-and-Swap Idiom in C++" в моем коде.
Условие задачи можете прочитать тут, ...
0
голосов
1
ответ
58
показов
Перегрузка операторов в С++
Есть три класса Matrix - матрица, VectorRow - вектор строка и VectorColumn - вектор столбец. Если мы перемножим объекты vectorRow *= vectorColumn, то на выходе по законам природы у нас будет матрица. ...
5
голосов
1
ответ
149
показов
Как правильно перегрузить оператор <=> с++20
Я пытаюсь перегрузить оператора <=>, но следующий код выдает ошибку компиляции
error: no match for ‘operator==’ (operand types are ‘example’ and
‘example’)
struct example {
int a{0};
...
0
голосов
1
ответ
141
показ
Класс "Ломаная на плоскости"
Условие и постановка задачи: Ломаная на плоскости задаётся последовательностью пар координат, определяющих положение точек этой ломаной на координатной плоскости. Для двух ломаных определяется сумма — ...
-2
голоса
1
ответ
46
показов
Не могу поймать момент когда срабатывает перегруженный оператор присваивания, и плюс что можно оптимизировать
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <Windows.h>
#include <map>
using namespace std;
class String {
private:
...
0
голосов
1
ответ
87
показов
Как объединить несколько операторов класса со схожей логикой, но разными операторами в один
Возможно ли объединить несколько операторов класса со схожей логикой, но разными операторами в один, чтобы было меньше копипаста. Например, есть операторы +=, '-=`:
class Matrix {
public:
Functor&...
1
голос
1
ответ
68
показов
python: перегрузка сложения и т.д. для родительского класса, но возвращение результата как от дочернего
подскажите как корректно решить следующую ситуацию:
есть базовый класс MyBaseClass с перегруженным оператором __add__
и есть дочерний класс MyChildClass, который в конструкторе выставляет свои ...
0
голосов
1
ответ
119
показов
перегрузка оператора преобразования типов С++
Помогите, пожалуйста, решить задачу: Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса способны хранить в себе значения следующих типов: int, double, String(строка – ...
0
голосов
0
ответов
105
показов
Проблема с перегрузкой оператора умножения для матриц на python
Начал серьёзное обучение питону. Есть цель написать калькулятор матриц, для этого был создан класс Matrix:
import numpy as np
import random as rd
class Matrix:
row = None
column = None
arr ...
1
голос
1
ответ
927
показов
Перегрузка операторов вне и внутри класса
В ТЗ моей работы указано, что перегрузка операторов должна выполняться как вне, так и внутри класса.
Я не совсем понимаю как это работает и хотел попросить Вашего совета.
В моем понимании перегрузка ...
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] = '\...
0
голосов
1
ответ
23
показа
Неправильно сработал перегруз оператора
Я перегрузил оператор инкремента специально для класса, но при постфиксном инкременте компилятор показывает только первый c1.getCount() после чего выводит:"(процесс 17100) завершил работу с кодом ...
0
голосов
1
ответ
101
показ
Можно ли перегрузить оператор static_cast вне класса?
Можно ли перегрузить оператор static_cast вне класса? К примеру операторы +, - и тд, можно перегрузить в локальном нэймспейсе не как член класса, можно сделать что то подобное например с оператором ...
0
голосов
0
ответов
26
показов
Как перегрузить унарный оператор - с++?
Как перегрузить унарный оператор - с++?
То-есть оператор, позволяющий меня знак числа
Вот прмер
int a = 5;
a = -a;
-1
голос
1
ответ
42
показа
Проблема с перегрузкой [закрыт]
Помогите, пожалуйста. Нужная переменная не перегружается.
Class User: (наследуемый от Account)
void User::resetAccount(){
!Account();
}
Class Account (Наследуемый от Money)
//Account.h
...
-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*, ...
0
голосов
1
ответ
40
показов
Перегрузка оператор []
Мне нужно перегрузить оператор [] в моём классе который бы вернул ссылку на 1 элемент вектора типа char. Чтобы я мог написать следующее:
class myclass;
myclass[0] = 'f';
Важно: Оператор ...
0
голосов
1
ответ
74
показа
Оператор присвоения для двусвязного списка
Пытаюсь перегрузить оператор присваивания для двухсвязного списка. При запуске выдаёт ошибку:"Вызвано исключение: нарушение доступа для чтения.pThis->m_data-> было 0xDDDDDDDD." ...
0
голосов
1
ответ
36
показов
Вопрос по перегрузке оператора в ООП С++
Есть такой код
class CustomFoo {
virtual void do_stuff()=0;
};
class Foo: CustomFoo {
void do_staff() {....} final;
};
class FooWrapper {
vector<CustomFoo*> foos;
...
1
голос
2
ответа
146
показов
Как вызвать класс через скобки из себя?
Такая проблема, у нас есть класс, который инициализируется с какими-то данными.
После я хочу вызвать его как функцию, с передачей параметра, числа, как переопределить wr(14) функцию
class Work:
...