Klasse zerlegen, wie?
-
Hallo zusammen,
ich habe eine Klasse, welche mir eine gegebene Struktur AST mit unterschiedlichen Strategien umbauen soll. Funtioniert auch toll, allerdings habe ich ein Problem. Die Klasse ist schon sehr groß und wird durch die verschiedenen Strategien noch größer und unübersichtlicher. Daher will ich die Strategien abspalten. Also ungefähr so:
Class A; Class AStrategie1; Class AStrategie2; ..Wenn ich nun in A die Methode umbauen aufrufe, mit einer Strategienummer, so soll er dann halt entsprechen an z.B. AStrategie1 weiterleiten. Soweit klar. Es gibt aber ein Array in A, welches die Ergebnisse des umbaues erhalten soll (aus einem komplizierten, werden n einfachere). Wie mache is es, dass die Ergebnisse sauber in dem Array landen, ohne ständig das Array hin und her zu kopieren. Ist vermutlich total einfach, sehe aber gerade den Wald vor lauter Bäumen nicht.
Der Uwe
-
uwerothfeld schrieb:
Hallo zusammen
Bis hierhin konnte ich noch folgen - aber dann wird es dunkel

Was willst du machen?
-
Kannst du in deinem Array nicht Zeiger speichern und nur diese umhängen?
-
Da musst Du Dich dann mit dem Thema "Vererbung" auseinandersetzen. C++ bietet da reichlich Möglichkeiten. Nachdenken und planen musst Du aber selbst!
-
Ich denke eher auch, dass Zeiger die Lösung deines Problems wären, einfach anstatt den Array dauernd hin und herzuschieben dasselbe mit dem Zeiger machen

MfG RikuXan
-
uwerothfeld schrieb:
Wenn ich nun in A die Methode umbauen aufrufe, mit einer Strategienummer, so soll er dann halt entsprechen an z.B. AStrategie1 weiterleiten. Soweit klar. Es gibt aber ein Array in A, welches die Ergebnisse des umbaues erhalten soll (aus einem komplizierten, werden n einfachere). Wie mache is es, dass die Ergebnisse sauber in dem Array landen, ohne ständig das Array hin und her zu kopieren. Ist vermutlich total einfach, sehe aber gerade den Wald vor lauter Bäumen nicht.
Du solltest mal google nach "virtual base classes" fragen ...
-
Hi erst einmal,
ich dachte ich bin mittlerweile mit meinen komischen Fragen bekannt

Mh, ja ihr habt glaub ich recht, dass sollte ich wohl doch mit Vererbung machen. Hatte nen Knoten im Hirn. Egal, vielen Dank.