AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Operatoren überladen (z.B. bei komplexen Zahlen)
Thema durchsuchen
Ansicht
Themen-Optionen

Operatoren überladen (z.B. bei komplexen Zahlen)

Ein Thema von jungdelphin · begonnen am 14. Aug 2004 · letzter Beitrag vom 14. Aug 2004
Antwort Antwort
jungdelphin

Registriert seit: 29. Jul 2003
10 Beiträge
 
#1

Operatoren überladen (z.B. bei komplexen Zahlen)

  Alt 14. Aug 2004, 21:23
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;
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#2

Re: Operatoren überladen (z.B. bei komplexen Zahlen)

  Alt 14. Aug 2004, 21:26
.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.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Operatoren überladen (z.B. bei komplexen Zahlen)

  Alt 14. Aug 2004, 21:40
http://www.delphipraxis.net/internal...ct.php?t=29480 vorletzter Beitrag. In dem Download ist meine Unit "QMath.pas" mit dabei. Darin sind etliche fertige Funktionen zum Rechnen mit komplexen Zahlen und Quaternionen - allerdings nur in karthesischer Darstellung!

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...

gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
jungdelphin

Registriert seit: 29. Jul 2003
10 Beiträge
 
#4

Re: Operatoren überladen (z.B. bei komplexen Zahlen)

  Alt 14. Aug 2004, 21:53
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.
  Mit Zitat antworten Zitat
LarsMiddendorf

Registriert seit: 4. Sep 2003
Ort: Hemer
104 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Operatoren überladen (z.B. bei komplexen Zahlen)

  Alt 14. Aug 2004, 22:11
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.
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:52 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