Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

11

24.10.2012, 12:54

Dafür hast du die cpp-Dateien. Du machst die Funktionsdeklarationen in den Headern. Den eigentlichen Code lagerst du in c++-Files aus. In diesen Files implementiert du deine Methoden. Und erst dort rufst du Methoden von den anderen Klassen auf. Also müssen auch erst dort die Methoden bekannt sein. Im Header reicht also die forward declaration und die eigentliche Klasse inkludierst du dann in der cpp-Datei.
Mach dir mal ein Testprojekt dafür. Da kannst du das alles ein wenig testen und probieren. An sich ist es nicht schlecht so wenig wie möglich in den Headern zu inkludieren. Wenn du es im Header nicht brauchst, sondern nur im Code selbst, dann inkludier es auch erst dort. Ich hoffe das war einigermaßen verständlich. Wenn nicht, kann ich dir gern auch noch ein Beispiel dafür schreiben. Versuch dich aber vielleicht erst mal selbst. Google hilft dir sicherlich auch weiter. Einfach mal forward declaration suchen. Soweit ich das richtig im Kopf habe, gibt es in "Effective C++" auch ein paar Themen zu dem Thema. Habe ich aber vielleicht auch grad falsch im Kopf.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

12

24.10.2012, 17:17

Ich glaub das muss ich wirklich mal Testen, inwieweit das bei meinem Code alles Möglich ist, bzw. wo das alles Funktioniert. Aber bevor ich das mache muss ich glaube ich erstmal mein Kampfsystem etwas weiterbasteln, damit ich da was Lauffähiges hab mit einer schon integrierten KI. Weil ich Kämpfe nebenbei auch etwas gerade mit meiner Motivation bzw. lasse mich zu leicht ablenken. Schnell mal ein Spiel gestartet oder im Internet etwas gelesen und schon sind einige Stunden um. Weil wenn das Kampfsystem mal funktioniert, kann ich unzählige Varianten davon einfach in Textdateien definieren und ausprobieren, was mir einen riesigen Motivations Schub gibt. :D

Aber ich behalte das aufjedenfall im Hinterkopf, dass ich da nochmal drüberschauen sollte das zu Optimieren und falls ich dann noch Fragen dazu hab, werd ich in dem Thread hier dann wieder was anfügen. Wirklich viele neu Header kommen dafür auch garnicht dazu, bei der KI muss ich noch schauen, aber ansonsten ist von dem anderem alles schon im Programm. Aber ich glaub, wenn ich da später dann etwas mit rumspiel, sollte ich relativ schnell alles verstehen wie es genau funktioniert und ob ich es Anwenden kann. Ich Lern generell viel besser etwas wenn ich da selber rumbastel, als es irgendwo zu Lesen. :D Ein paar weiterführende Bücher wären aber glaube ich mit der Zeit nicht so schlecht, wirklich gelesen hab ich bis jetzt nur "C++ Für Spieleentwickler".

13

27.10.2012, 12:23

So bin jetzt endlich dazu gekommen es zu Testen und ich kann es doch verwenden. Der Grund warum ich zuerst daran gezweifelt hatte, war das bei dem Link von dot keine Referenzen erwähnt wurden, aber naja mit etwas nachdenken hätte man sich das wohl auch denken können das es dort auch funktioniert. Falls nicht hätte ich sie eigentlich auch in Zeiger umwandeln können. Ich benütz Zeiger in letzter Zeit so selten, dass ich garnicht mehr wusste das man mit denen auch auf Objekte zeigen und nicht nur was auf dem Heap anlegen konnte. :rolleyes:

Kommt davon wenn man Bücher nur durchliest und sie nicht auch schon praktisch mal anwendet. So hab ich mir größtenteils nur die Sachen gemerkt die ich brauche.

War jetzt doch schneller mit dem Testen, da ich jetzt das doch so wie am anfang hier handhaben will, fühlt sich einfach besser an und lässt sich auch besser handhaben. Sonst müsste ich dutzende male Werte zurückgeben, Funktonen starten dann wieder in meine Schleife einspringen bis ich die nächsten Werte zurückgeben müsste. :D

Danke also für den nützlichen Tipp, wenn ich mir meine ganzen includes so anschaue, darf ich da so einige noch in die cpp Dateien umschichten.

Werbeanzeige