Mit "Speichern" meinst du jetzt nicht "Objekt in eine Datei auf der Festplatte speichern", oder hab ich dich falsch verstanden?
Ich glaube, du suchst
var buttonzuordnung : array[0..3] of C_Fahrzeug;
und statt
typ
sowas wie
if buttonzuordnung[1] is c_auto then ...
. Statt der
is
-Konstruktion wären virtuelle Methoden natürlich wesentlich schöner.
Das mit
array[0..3] of C_Fahrzeug;
funktioniert, weil du Referenzen auf Objekte einer abgeleiteten Klasse einer Basisklassenreferenz zuweisen kannst, also z.B.
Delphi-Quellcode:
var
fahrzeug: C_Fahrzeug;
begin
fahrzeug := C_Auto.Create;
end;
Ohne das würde die ganze OO nicht funktionieren.
BTW: Tu dir und uns den Gefallen und benenn deine Klassen Delphi-konform: TFahrzeug, TAuto etc.