Вопросы по теме 'operator-overloading'
Оператор перегрузки == по сравнению с Equals ()
Я работаю над проектом C #, в котором до сих пор я использовал неизменяемые объекты и фабрики, чтобы гарантировать, что объекты типа Foo всегда можно сравнивать на равенство с == .
Foo объекты не могут быть изменены после создания, и фабрика...
33523 просмотров
schedule
15.11.2021
Почему для классов в Delphi недоступна перегрузка операторов?
Меня всегда это немного интересовало, но почему перегрузка операторов недоступна для классов в Delphi?
Я помню, как однажды прочитал ответ, когда был в бегах, и в нем говорилось, что он с чем-то конфликтует, но я мало что помню. Насколько я могу...
4846 просмотров
schedule
13.10.2021
Перегрузка оператора - неужели разумно запретить?
Java запрещает перегрузку операторов, но, исходя из C ++, я не вижу для этого никаких причин. В языках, где символы операторов являются символами, как и любые другие, к «+» применяются те же правила, что и к «плюсу», и это не проблема. Так в чем...
620 просмотров
schedule
09.11.2021
Почему оператор постфиксного приращения принимает фиктивный параметр?
Взгляните на эти сигнатуры функций:
class Number {
public:
Number& operator++ (); // prefix ++
Number operator++ (int); // postfix ++
};
Префикс не принимает никаких параметров, но постфикс принимает. Почему? Я думал, что...
10787 просмотров
schedule
28.11.2021
Перегрузка в C ++
Я не уверен, правильно ли делаю перегрузку.
... \ point.h (42): ошибка C2061: синтаксическая ошибка: идентификатор 'Vec3' Оператор точки + (Vec3 a) const;
Вот мой файл .h:
#include <fstream>
#include <iostream>...
272 просмотров
schedule
14.10.2021
Всегда ли умножение коммутативно в неточной арифметике с плавающей запятой?
Я пытаюсь понять код во время выполнения на языке D. Похоже, что есть отдельные функции для следующих двух вещей:
array1[] += scalar * array2[];
array1[] += array2[] * scalar;
Почему это нельзя сделать с помощью одной функции? Я думал, что...
1468 просмотров
schedule
21.09.2021
Возврат копии с перегруженными операторами
У меня есть класс Foo , для которого я перегрузил оператор + следующим образом:
Foo Foo::operator+(const Bar &b)
{
Foo copy = (*this);
if (someCondition) return copy;
//snip
}
Мне это кажется разумным. Однако всякий раз,...
740 просмотров
schedule
23.10.2021
Реализуйте равенство вне определения типа
У меня есть несколько типов, реализующих интерфейс. Равенство для этих типов зависит только от членов интерфейса. Можно ли определить равенство для этих типов один раз, не переопределяя Equals или op_Equality для каждого типа?
ИЗМЕНИТЬ
Я...
190 просмотров
schedule
31.10.2021
в чем разница между перегрузкой оператора внутри или вне класса?
Я знаю, что в C ++ есть два способа перегрузки. Мы можем перегрузить его внутри (например, класс a ) или снаружи (например, класс b ). Но вопрос в том, есть ли между ними разница во время компиляции или во время выполнения или нет?
class a
{...
6934 просмотров
schedule
26.09.2021
Невозможно привести объект типа Common.Date к типу System.IConvertible C #
Я видел эту проблему с сообщением об ошибке в stackoverflow, но ни один из них не относился к типу datetime или date, чтобы работать только с типом даты. Я создал класс типа даты и написал для него несколько перегрузок в классе даты. Мой урок...
1198 просмотров
schedule
17.09.2021
Перегруженный оператор присваивания вызывает предупреждение о рекурсии
Мне нужно реализовать перегруженный оператор присваивания в классе, чтобы функция vector.erase работала правильно, как предлагается в ответах на « vector :: erase с помощью член указателя ". Я также реализовал конструктор копирования для той же...
1627 просмотров
schedule
22.09.2021
Оператор C ++ () и объявление 'using': левый операнд должен быть ошибкой l-значения
Пример ниже иллюстрирует более сложную, но не похожую проблему, которую я пытался элегантно решить. У меня есть набор шаблонов, которые должны быть специализированными, и при этом реализовать один или оба из двух интерфейсов: Readable и Writable в...
2524 просмотров
schedule
19.10.2021
Неявное преобразование при перегрузке операторов для классов шаблонов
Я хотел бы знать, почему неявное преобразование типов не работает с перегрузкой внешнего оператора в шаблонах классов. Вот рабочая версия без шаблона:
class foo
{
public:
foo() = default;
foo(int that)
{}
foo& operator...
4640 просмотров
schedule
02.12.2021
Списки инициализаторов и перегрузка присваивания (оператор =)
Распространяется ли перегрузка оператора присваивания на список инициализаторов?
Например, предположим, что класс:
class MyClass {
private:
std::string m_myString; //std::string overloads operator =
public:...
2449 просмотров
schedule
02.12.2021
C ++: преобразовать объект в массив
Я пишу матричный класс и хочу иметь возможность преобразовать матрицу фиксированного размера в двойной массив фиксированного размера. Хотя у меня проблемы с реализацией соответствующего оператора приведения. То, что я реализовал до сих пор, не...
3473 просмотров
schedule
01.10.2021
Почему мой оператор приведения из T в SomeStruct ‹T› не работает, когда T является интерфейсом?
Когда я пытаюсь использовать определяемый пользователем оператор приведения из типа интерфейса к универсальному типу структуры, я получаю ошибку компиляции, в которой говорится, что тип не может быть преобразован:
public interface J { }
public...
126 просмотров
schedule
03.12.2021
Как перегрузить оператор + полиномиальным классом и какие типы возвращать
У меня проблемы с перегрузкой оператора +, и я не могу понять, в чем причина. Оператор + возвращает полином (называемый C), но он возвращает его по значению, тогда как оператор присваивания ожидает объект Polynomial в качестве параметра, переданного...
4659 просмотров
schedule
05.09.2021
Django: сопоставление имени пользователя без учета регистра от пользователя auth?
Django по умолчанию реализует имя пользователя с учетом регистра, теперь для аутентификации я написал свой собственный Authentication Backend для обработки имен пользователей без учета регистра во время аутентификации.
Как показано на:...
16014 просмотров
schedule
21.09.2021
`bool operator‹ (Контакт &) 'должен принимать ровно два аргумента
у меня есть
class Conatact{
.....
bool operator<(Contact &c);
};
bool operator<(Contact &c)
{
return this.getName<c.getName();
}
он говорит, что `bool operator‹ (Контакт &) 'должен принимать ровно два аргумента, когда...
7726 просмотров
schedule
18.10.2021
Введение в потоки ввода-вывода C ++
У меня есть фрагмент кода из этой статьи , и я не понимаю, как оно работает? Фрагмент начинается со слов:
Вы можете обнаружить сбой определенной операции чтения или записи, проверив результат чтения. Например, чтобы проверить, что от...
189 просмотров
schedule
07.09.2021