operator-overloading- все статьи тега


Перегрузка операторов C++ для операций с комплексными числами

У меня есть задание на C++, и у меня возникли проблемы с началом работы. Цель состоит в том, чтобы " создать класс, который использует следующие перегруженные операторы для комплексных чисел: >> Мой вопрос не о синтаксисе этого, а больше о логике. Я мог бы использовать некоторую помощь "мозгового штурма". Входной Образец: 2.5 -2.2 1.0 1.0 Выходной Образец: A = (2.5) + (-2.2)i B = (1.0) + (1.0)i A + B = (3.5) + (-1.2)i А-В = .............. A * B = .............. A / B = ...... ...

Разница между (++i) и (i++)

В C++ я понимаю, что (++i) должен возвращать ссылку на i, потому что требуется конкатенация операторов, но чего я не могу понять, так это: Почему (i++) должен возвращать i по значению? Может ли кто-нибудь уточнить. ...

Почему Java не предлагает перегрузку оператора?

переходя с C++ на Java, очевидный вопрос без ответа-почему Java не включала перегрузку операторов? не Complex a, b, c; a = b + c; гораздо проще, чем Complex a, b, c; a = b.add(c);? есть ли известная причина для этого, допустимые аргументы для не возможность перегрузки операторов? Является ли причина произвольной или потерянной во времени? ...

Как перегрузить оператор квадратных скобок в C#?

DataGridView, например, позволяет сделать это: DataGridView dgv = ...; DataGridViewCell cell = dgv[1,5]; но для жизни меня я не могу найти документацию по индексу/квадратной скобке оператора. Как они это называют? Где это реализовано? Может ли он бросить? Как я могу сделать то же самое в моих собственных классов? ETA: Спасибо за все быстрые ответы. Кратко: соответствующая документация находится под свойством "Item"; способ перегрузки заключается в объявлении свойства, такого как public ...

Есть ли способ сделать перегрузку метода в TypeScript?

есть ли способ сделать перегрузку метода в языке TypeScript? Я хочу добиться чего-то вроде этого: class TestClass { someMethod(stringParameter: string): void { alert("Variant #1: stringParameter = " + stringParameter); } someMethod(numberParameter: number, stringParameter: string): void { alert("Variant #2: numberParameter = " + numberParameter + ", stringParameter = " + stringParameter); } } var testClass = new TestClass(); testClass.someMethod("string for v# ...

Перегрузка оператора c помощью интерфейсного программирования в C#

фон Я использую программирование на основе интерфейса в текущем проекте и столкнулся с проблемой при перегрузке операторов (в частности, операторов равенства и неравенства). предположения я использую C# 3.0, .NET 3.5 и Visual Studio 2008 обновление - следующее предположение было ложным! требуется, чтобы все сравнения использовали Equals, а не operator== не является жизнеспособное решение, особенно при передаче типов в библиотеки (например, коллекции). причина, по которой я был обеспокое ...

Перегрузка арифметических операторов в JavaScript?

это лучший способ, которым я могу сформулировать этот вопрос, учитывая это определение "класса" JavaScript: var Quota = function(hours, minutes, seconds){ if (arguments.length === 3) { this.hours = hours; this.minutes = minutes; this.seconds = seconds; this.totalMilliseconds = Math.floor((hours * 3600000)) + Math.floor((minutes * 60000)) + Math.floor((seconds * 1000)); } else if (arguments.length === 1) { this.totalMilliseconds = hours; ...

Javascript: перегрузка оператора

Я работаю с JavaScript уже несколько дней и дошел до точки, где я хочу перегружать операторы для моих определенных объектов. после того, как вы нашли это в google, кажется, вы не можете официально сделать это, но есть несколько человек, которые утверждают, что это какой-то длинный способ выполнения этого действия. в основном я сделал класс Vector2 и хочу быть в состоянии сделать следующее: var x = new Vector2(10,10); var y = new Vector2(10,10); x += y; //This does not result in x being a vec ...

Могу ли я перегрузить оператор в Objective-C?

можно ли переопределить использование оператора в Objective-C? myClassInstance + myClassInstance вызывает пользовательскую функцию для добавления двух. ...