ich hab folgendes Problem, wir haben in der Schule jetzt mit der Objektorientierten Programmierung angefangen und da ein Beispiel in C++ bekommen...ich würde das ganze aber gerne in Delphi schreiben und habe nun Probleme alle Objekte (versch. Objekte -> ein array)
dies sind meine 3 Klassen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| type figurC = class x,y:integer; public procedure setXY(ortx,orty:integer); procedure getXY(var ortx:integer;var orty:integer); procedure show; end; quadratC = class(figurC) laenge:integer; public procedure setlaenge(l:integer); procedure show;virtual; end; circleC = class(figurC) radius:integer; public procedure setradius(r:integer); procedure show;virtual; end; |
hab also 2 figuren, quadratc und circlec...
(figurC wird nicht benötigt/gezeichnet, dient nur zur Vererbung von n paar dingen)
Diese wollte ich jetzt beide in einem dynamischen Array unterbringen, so dass ich z.b. um alle Kreise und Quadrate zu zeichnen nur eine for-Schleife brauch die von figuren[0] bis figuren[count(figuren)] figuren[i].show; macht...
Hab also versucht den ganzen Spaß zu schreiben, wie die anderen das in C++ gemacht haben:
figuren:array of figurC;
doch irgendwie geht das in Delphi nciht!!! In C++ konnten die einfach dann hinschreiben:
figuren[0] := QuadratC.Create;
soweit meckert Delphi auch noch nicht, allerdings kann ich jetzt in figuren[0].xxxxxx nicht auf die Quadratspeziefischen Funktionen zugreifen, was in C++ nun aber ging!!!!
mein Infoleherer meinte dann noch ich solle das quadrat erst in einer Variable vom typ QuadratC erstellen, und es erst am Ende mit
figuren[0]:= meinequadratvariable;
reinschreiben, aber das ging genausowenig, und außerdem würde ich ja gerne im Nachhinein auf einzelne Elemente des Arrays zugreifen und die jeweiligen speziefischen Einstellungen vornehmen, je nachdem ob da grad ein Kreis oder ein Quadrat an der Stelle gespeichert ist....
ich hoff ma das das einigermaßen verständlich is

und das das mit delphi möglich is
