![]() |
Operatoren überladen (z.B. bei komplexen Zahlen)
Wie kann ich das in Delphi 6 Personal realisieren? In C++ sieht es ja fast genauso aus.
Das Beispiel ist angeblich für Delphi.NET. Was ist dieses .NET überhaupt?
Delphi-Quellcode:
type
TMyClass = class class operator Add(a, b: TMyClass): TMyClass; end; Implementierung: class operator TMyClass.Add(a, b: TMyClass): TMyClass; begin ... end; |
Re: Operatoren überladen (z.B. bei komplexen Zahlen)
.NET ist was schickes neues (ein bisschen vergleichbar mit WINAPI). gibt es erst in delphi 8. wie man da operatoren überladt weiß ich nicht. ind delphi 6/7 geht es garnicht.
in c#, c++, c, free pascal ... geht es. muss dir wohl zu der klasse der komplexen zahlen noch die passenden funktionen schreiben. |
Re: Operatoren überladen (z.B. bei komplexen Zahlen)
![]() Die Potenzierung funktioniert bisher nur für den Realteil der Exponenten. exp() Dagegen wie es sein sollte. Die Quaterniondivision ist auch noch nicht 100%ig - da hab ich die Tage erst eine weitere schönere Möglichkeit gesehen das zu bewerkstelligen - aber wer braucht schon Quaternionen... :mrgreen: gruss, dizzy |
Re: Operatoren überladen (z.B. bei komplexen Zahlen)
Danke für die schnellen Antworten.
Mir kam es jetzt nicht nur auf die komplexen Zahlen an. Die Arithmetik dazu ist ja schnell geschrieben. Sondern um die Programmiertechnik, die ich bis jetzt nur von c++ kannte. Nun bin ich verwundert auf analogen Delphicode gestoßen, dieser compiliert bei mir aber nicht. Wird wohl an dem Wunder.NET liegen. Mit diesen Operatoren und dynamischen arrays wollte ich Matrizen und andere Objekte implementieren, so als billigen Mathematicaersatz. |
Re: Operatoren überladen (z.B. bei komplexen Zahlen)
Bei Delphi6 kann man, abgesehen vom [] Operator bei allen Klassen, die restlichen Operatoren nur für variante Typen überladen. Man erstellt dazu eine neue Klasse die entweder von TCustomVariantType,TInvokeableVariantType oder TPublishableVariantType angeleitet ist und die entsprechenden Operatoren,Methoden oder Properties implementiert. In der Hilfe ist auch ein Beispiel für komplexe Zahlen angegeben.
In der Unit VarCmplx ist der Type TComplexVariantType implementiert, der die entsprechenden Operatoren für komplexe Zahlen überlädt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
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