Als «operator-overloading» getaggte Fragen

Das Überladen von Operatoren ist eine Funktion einer Programmiersprache, die benutzerdefinierte Implementierungen für Operatoren in Abhängigkeit von den Typen der beteiligten Operanden ermöglicht. In einigen Sprachen können neue Operatoren definiert werden, während in anderen nur vorhandene neu definiert werden können.

2
Überladung des Operators: Elementfunktion vs. Nichtmitgliedsfunktion?
Ich habe gelesen, dass ein überladener Operator, der als Elementfunktion deklariert ist, asymmetrisch ist, da er nur einen Parameter haben kann und der andere Parameter, der automatisch übergeben wird, der thisZeiger ist. Es gibt also keinen Standard, um sie zu vergleichen. Auf der anderen Seite, überladener Operator deklarierte als friendist …

10
C # -Operatorüberladung für `+ =`?
Ich versuche, Operatorüberladungen durchzuführen +=, kann dies aber nicht. Ich kann nur einen Bediener überladen +. Woher? Bearbeiten Der Grund, warum dies nicht funktioniert, ist, dass ich eine Vektorklasse habe (mit einem X- und Y-Feld). Betrachten Sie das folgende Beispiel. vector1 += vector2; Wenn meine Bedienerüberlastung auf Folgendes eingestellt ist: …



6
Gibt es eine Möglichkeit zum Überladen von Methoden in TypeScript?
Gibt es eine Möglichkeit, Methoden in TypeScript zu überladen? Ich möchte so etwas erreichen: class TestClass { someMethod(stringParameter: string): void { alert("Variant #1: stringParameter = " + stringParameter); } someMethod(numberParameter: number, stringParameter: string): void { alert("Variant #2: numberParameter = " + numberParameter + ", stringParameter = " + stringParameter); } …

5
__lt__ statt __cmp__
Python 2.x bietet zwei Möglichkeiten, um Vergleichsoperatoren __cmp__oder die "Rich-Vergleichsoperatoren" wie z __lt__. Die reichhaltigen Vergleichsüberladungen sollen bevorzugt werden, aber warum ist das so? Umfangreiche Vergleichsoperatoren sind einfacher zu implementieren, Sie müssen jedoch mehrere davon mit nahezu identischer Logik implementieren. Wenn Sie jedoch die integrierte Reihenfolge cmpund die Tupelreihenfolge verwenden …

8
Javascript: Überladung des Operators
Ich arbeite jetzt seit einigen Tagen mit JavaScript und habe einen Punkt erreicht, an dem ich Operatoren für meine definierten Objekte überladen möchte. Nach einer kurzen Zeit bei Google, in der Sie danach gesucht haben, können Sie dies anscheinend nicht offiziell tun, aber es gibt einige Leute da draußen, die …

4
Der Operator << muss genau ein Argument annehmen
Ah #include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logik.cpp #include "a.h" ... ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a) { ... } ... Wenn ich kompiliere, heißt es: std :: ostream &amp; Logik :: Operator &lt;&lt; (std :: ostream &amp;, A &amp;) 'muss genau ein Argument annehmen. …





11
Wann muss der Komma-Operator überladen werden?
Ich sehe hin und wieder Fragen zu SO über das Überladen des Kommaoperators in C ++ (hauptsächlich unabhängig von der Überladung selbst, aber Dinge wie der Vorstellung von Sequenzpunkten), und ich frage mich: Wann sollten Sie das Komma überladen? Was sind einige Beispiele für seine praktische Verwendung? Ich kann mir …

2
Wie überlade ich einen unären Minus-Operator in C ++?
Ich implementiere eine Vektorklasse und muss ein Gegenteil von einem Vektor erhalten. Ist es möglich, diese Methode durch Operatorüberladung zu definieren? Folgendes meine ich: Vector2f vector1 = -vector2; Ich möchte, dass dieser Operator Folgendes erreicht: Vector2f&amp; oppositeVector(const Vector2f &amp;_vector) { x = -_vector.getX(); y = -_vector.getY(); return *this; } Vielen …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.