Vector in Vector inkl. Konstruktor mit Vector"befüllung"
-
Ich habs nun verstanden, ich hatte wohl Würmer im Hirn. Der Code läuft und ich habe den Zugriff / das Warum verstanden. Ich Danke Dir für Deine Geduld!

-
Damit ich nicht noch einen extra Thread aufmache, stelle ich einfach hier, (in der Hoffnung es wird beantwortet) eine Frage:
Wieviele Argumente sind maximal erlaubt, wenn ich eine Funktion oder einen Konstruktor aufrufe? 256? 1024? 65536? ....?
-
Technisch kannst/mußt du so viele Parameter angeben, wie bei der Funktionsdefinition gefordert wurden. Praktisch erinnere ich mich düster an eine Grenze, die im Standard definiert wurde (auf Anhieb finde ich allerdings nur eine womöglich veraltete Angabe für C - der Compiler muß mindestens 31 Parameter unterstützen).
-
Klar dass die Parameter auch definiert sein müssen.
Oh Gott - 31 - dann hoffe ich, dass diese Angabe wirklich veraltet ist. Ich bin jetzt schon bei 16, aber meine "Enemy"-Klasse wird noch um das 5fache wachsen...
Edit: Oder das gcc und/oder MSVC sich nicht nur an den Mindeststandard halten.
-
Also wenn du 16, oder sogar mehr, Argumente übergeben musst, behaupte ich mal, dass du etwas falsch machst.
-
thuering schrieb:
Ich bin jetzt schon bei 16, aber meine "Enemy"-Klasse wird noch um das 5fache wachsen...

Da ist es wohl an der Zeit, ein wenig Ordnung in die Klasse reinzubekommen. Selbst wenn du damit nicht an irgendwelche Compiler-Limits kommen würdest, ist sowas einfach nur noch unübersichtlich und nicht mehr sinnvoll einsetzbar.
-
OK, ganz praktisch aufgetischt: Gerne würde ich mit einem einfachen Konstruktoraufruf einen "Gegner" in einem kleinen (aber regelüberladenen! (und das soll auch so)) textbasierten Rollenspiel erschaffen. Da müssen Name, Rasse, Klasse, Stufe, Erfahrung, Hitpoints, Trefferchancen, Schaden, Rüstung, Resistenzen, Waffenfertigkeiten, Spezielle Fähigkeiten, Inventar, Mut, Zauber und vieles vieles mehr festgelegt werden.
Aber, wenn ihr schon so kommt, gibt es sicherlich eine gute Lösung.
Mir würde spontan einfallen, die komplette Gegnergenerierung in den Konstruktor selbst zu schreiben und nicht von extern (über eine seperate Funktion) die Konstruktorargumente zu setzen. Gute Idee?
-
Gemeinsame Eigenschaften zu neuen Klassen (oder auch nur Strukturen mit
public-Attributen) zusammenfassen. Zum Beispiel für Offensive, Defensive, Zauber, ...
-
So viele Daten lassen sich wohl kaum sinnvoll hardcoden, benutz dazu doch besser eine Xml-Datei oder eine Datenbank.
-
Ethon schrieb:
So viele Daten lassen sich wohl kaum sinnvoll hardcoden, benutz dazu doch besser eine Xml-Datei oder eine Datenbank.
Mache ich bereits. Zwar weder XML noch Datenbank, aber die Werte, die an den Konstruktor übergeben werden, kommen aus externen Dateien (Textdateien). Wenn ich mit meinem Programmierkenntnissen weiter komme, würde ich den ganzen Kram dann in eine SQL Datenbank packen, vorzugsweise PostgreSQL.