Hallo Thebe,
statt
class functions solltest du vielleicht lieber Konstruktoren nutzen, aber das musst du selbst wissen.
Zu dem Problem selbst:
Nur um zwei Vektoren zu subtrahieren, brauchst du ja keine Klasse, da würde eine einfache Funktion voll und ganz genügen. Da es aber nur ein kleines Beispiel ist, kann ich das nicht so pauschal behaupten.
Ansonsten würde ich das vielleicht so machen:
1) Listenklasse implementieren oder TObjectList nutzen
2) Beim Beginn einer Routine, die Vektoren nutzt, wird die Klasse erstellt, bei deren Ende wieder zerstört.
3) Alle innerhalb der Routine genutzten Vektoren werden z.B. auf folgende Weise erstellt:
Delphi-Quellcode:
procedure MyProc();
var
Lst: TMyListClass;
V1,
V2: TMyVectorClass;
begin
Lst.Create();
[...]
V1 := Lst.Add();
V2 := Lst.Add();
[...]
Lst.Free();
end;
4) Die Add-Methode erstellt jeweils eine neue Vektoren-Instanz, fügt sie der Liste hinzu und gibt sie zurück.
5) Durch Lst.Free() werden alle Objekte in der Liste freigegeben.
Ich hoffe, ich konnte dir wenigstens einen Denkanstoß geben
Gruß, Marco