AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Operatoren überschreiben

Ein Thema von Matze · begonnen am 15. Dez 2005 · letzter Beitrag vom 17. Mai 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Lemmy1
Lemmy1

Registriert seit: 28. Nov 2004
Ort: Ismaning
184 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Operatoren überschreiben

  Alt 16. Dez 2005, 01:47
Zitat von Sharky:
Zitat von Matze:
.... ob man in Delphi Operatoren überschreiben kann. ...
Hai ihr,

es passt zwar nicht genau zum Thread
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.
Daniel
www.nemu.com - The N64 Emulator
  Mit Zitat antworten Zitat
Benutzerbild von Lemmy1
Lemmy1

Registriert seit: 28. Nov 2004
Ort: Ismaning
184 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Operatoren überschreiben

  Alt 17. Dez 2005, 15:42
Korrektur: Ich meine nicht den Parser, sondern genauer den Scanner (das ist die erste Stufe eines Compilers)
Daniel
www.nemu.com - The N64 Emulator
  Mit Zitat antworten Zitat
rayman

Registriert seit: 31. Jul 2003
Ort: Lohsdorf
40 Beiträge
 
Delphi 6 Enterprise
 
#13

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 11:19
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?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 12:00
Vllt hilft da die Code-Vervollständigung? (Strg+Space wenn du "class operator" schon geschrieben hast)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#15

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 12:23
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

  Mit Zitat antworten Zitat
rayman

Registriert seit: 31. Jul 2003
Ort: Lohsdorf
40 Beiträge
 
Delphi 6 Enterprise
 
#16

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 13:06
sehr super danke.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 14:52
Ein Operator fehlt... Ich gehe mal davon aus, dass man @ nicht überschreiben kann?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#18

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 15:00
Den Adressoperator überschreiben Guter Witz
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#19

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 18:34
Zitat von Dax:
Den Adressoperator überschreiben Guter Witz
Du hast dich noch nie mit C++ beschäftigt, oder? Da geht das nämlich - insofern ist die Frage keineswegs ein Witz
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Operatoren überschreiben

  Alt 28. Okt 2006, 18:40
Und wass soll es bringen den @-Operator zu überladen?
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz