Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Operatoren überschreiben (https://www.delphipraxis.net/58972-operatoren-ueberschreiben.html)

Lemmy1 16. Dez 2005 00:47

Re: Operatoren überschreiben
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von Matze
.... ob man in Delphi Operatoren überschreiben kann. ...

Hai ihr,

es passt zwar nicht genau zum Thread :oops:
Aber eine Frage: Kann ich denn auch einen eigenen Operator definieren?

Hab mal ein Interview mit Danny Thorpe (glaub ich) gehört, wo er explizit sagte, dass das nicht geht. Dann müsste nämlich bereits der Parser Deine Operatoren kennen, was eine unschwer größere Aufgabe wäre.

Lemmy1 17. Dez 2005 14:42

Re: Operatoren überschreiben
 
Korrektur: Ich meine nicht den Parser, sondern genauer den Scanner (das ist die erste Stufe eines Compilers)

rayman 28. Okt 2006 10:19

Re: Operatoren überschreiben
 
Hallo.

Welche Operatoren kann ich denn alle überschreiben?
Ich kenne jetzt aus dem Video nur die Rechenoperatoren mit Namen:

add, subtract, multiply, divide, implicit, greaterThan, lessThen, greaterThanOrEqual, lessThanOrEqual und equal.

Aber was ist mit den anderen?
Es gibt doch mindestens noch or und and, die auch einen Namen haben müssten. Dann kenn ich noch in für Mengen. die ungleich Relation (<>) und viele andere (div, mod, shl und shr, xor, is,...).

Wo kann ich eine Liste mit den ganzen Namen dafür kriegen?

3_of_8 28. Okt 2006 11:00

Re: Operatoren überschreiben
 
Vllt hilft da die Code-Vervollständigung? (Strg+Space wenn du "class operator" schon geschrieben hast)

Meflin 28. Okt 2006 11:23

Re: Operatoren überschreiben
 
Zitat:

Implicit
Konvertierung
Implicit(a : Typ): Ergebnistyp;
Implizite Typumwandlung

Explicit
Konvertierung
Explicit(a: Typ): Ergebnistyp;
Explizite Typumwandlung

Negative
Unär
Negative(a: Typ): Ergebnistyp;
-

Positive
Unär
Positive(a: Typ): Ergebnistyp;
+

Inc
Unär
Inc(a: Typ): Ergebnistyp;
Inc

Dec
Unär
Dec(a: Typ): Ergebnistyp
Dec

LogicalNot
Unär
LogicalNot(a: Typ): Ergebnistyp;
not

BitwiseNot
Unär
BitwiseNot(a: Typ): Ergebnistyp;
not

Trunc
Unär
Trunc(a: Typ): Ergebnistyp;
Trunc

Round
Unär
Round(a: Typ): Ergebnistyp;
Round

Equal
Vergleich
Equal(a: Typ; b: Typ): Boolean;
=

NotEqual
Vergleich
NotEqual(a: Typ; b: Typ): Boolean;
<>

GreaterThan
Vergleich
GreaterThan(a: Typ; b: type) Boolean;
>

GreaterThanOrEqual
Vergleich
GreaterThanOrEqual(a: Typ; b: Typ): Ergebnistyp;
>=

LessThan
Vergleich
LessThan(a: Typ; b: Typ): Ergebnistyp;
<

LessThanOrEqual
Vergleich
LessThanOrEqual(a: Typ; b: Typ): Ergebnistyp;
<=

Add
Binär
Add(a: Typ; b: Typ): Ergebnistyp;
+

Subtract
Binär
Subtract(a: Typ; b: Typ): Ergebnistyp;
-

Multiply
Binär
Multiply(a: Typ; b: Typ): Ergebnistyp;
*

Divide
Binär
Divide(a: Typ; b: Typ): Ergebnistyp;
/

IntDivide
Binär
IntDivide(a: Typ; b: Typ): Ergebnistyp;
div

Modulus
Binär
Modulus(a: Typ; b: Typ): Ergebnistyp;
mod

ShiftLeft
Binär
ShiftLeft(a: Typ; b: Typ): Ergebnistyp;
shl

ShiftRight
Binär
ShiftRight(a: Typ; b: Typ): Ergebnistyp;
shr

LogicalAnd
Binär
LogicalAnd(a: Typ; b: Typ): Ergebnistyp;
and

LogicalOr
Binär
LogicalOr(a: Typ; b: Typ): Ergebnistyp;
or

LogicalXor
Binär
LogicalXor(a: Typ; b: Typ): Ergebnistyp;
xor

BitwiseAnd
Binär
BitwiseAnd(a: Typ; b: Typ): Ergebnistyp;
and

BitwiseOr
Binär
BitwiseOr(a: Typ; b: Typ): Ergebnistyp;
or

BitwiseXor
Binär
BitwiseXor(a: Typ; b: Typ): Ergebnistyp;
xor
siehe die Hilfe unter ms-help://borland.bds4/bds4ref/html/OperatorOverloads.htm#FirstSubtopic1Title


rayman 28. Okt 2006 12:06

Re: Operatoren überschreiben
 
sehr super :thumb: danke.

3_of_8 28. Okt 2006 13:52

Re: Operatoren überschreiben
 
Ein Operator fehlt... Ich gehe mal davon aus, dass man @ nicht überschreiben kann?

Dax 28. Okt 2006 14:00

Re: Operatoren überschreiben
 
Den Adressoperator überschreiben :lol: Guter Witz :)

OregonGhost 28. Okt 2006 17:34

Re: Operatoren überschreiben
 
Zitat:

Zitat von Dax
Den Adressoperator überschreiben :lol: Guter Witz :)

Du hast dich noch nie mit C++ beschäftigt, oder? Da geht das nämlich - insofern ist die Frage keineswegs ein Witz :)

mkinzler 28. Okt 2006 17:40

Re: Operatoren überschreiben
 
Und wass soll es bringen den @-Operator zu überladen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz