<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Klassen&#x2F;Objekte realisierung..]]></title><description><![CDATA[<p>Guten Tag,</p>
<p>Ich bin immernoch an meinem kleinen Bomberman und habe schon n paarmal neu angefangen, wie das halt so ist am anfang <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> , und steh immernoch irgendwie an derselben Frage..</p>
<p>Nun, ich habe hier eben mein Bomberman, hab es ganz ganz am Anfang aufgeteilt in 4 Klassen:</p>
<ul>
<li>Game</li>
<li>Map</li>
<li>Graphics</li>
<li>Player</li>
</ul>
<p>Wobei jede Klasse ihre eigenen Funktionen hat:</p>
<ul>
<li>
<p>Game</p>
</li>
<li>
<p>Run</p>
</li>
<li>
<p>Map</p>
</li>
<li>
<p>Load</p>
</li>
<li>
<p>getMap</p>
</li>
<li>
<p>Graphics</p>
</li>
<li>
<p>DrawMap</p>
</li>
<li>
<p>DrawPlayer</p>
</li>
<li>
<p>MovePlayer</p>
</li>
<li>
<p>Player</p>
</li>
<li>
<p>Update</p>
</li>
<li>
<p>Move</p>
</li>
<li>
<p>Draw</p>
</li>
</ul>
<p>Nun habe ich es hingebracht das das Spiel läuft, aber bis jetzt immer unschön, will heissen das ich es zwar geschafft habe indem ich:</p>
<ul>
<li>Alles in Funktionsübergaben gepackt habe.</li>
<li>Das Game Objekt überall übergeben habe (also wirklich fast jede Funktion hatte das Game Objekt als übergabeparameter..).</li>
<li>Alles global deklarieren.</li>
</ul>
<p>Nun, ich habe sehr sehr viel gelesen in letzter Zeit über C++, und irgendwie hab ich einfach im Kopf das:</p>
<ul>
<li>Man sollte wenn möglichst OHNE Funktionsübergabe auskommen.</li>
<li>Man sollte ALLES über getFunktionen (Will heissen man sollte alles abfragen können von den anderen Klassen) kriegen.</li>
<li>OHNE globale Variablen auskommen!</li>
</ul>
<p>Nun versuche ich jetzt mein Projekt irgendwie mit denen Voraussetzungen, wobei ich mir ehrlich gesagt nichtmal sicher bin ob das überhaupt das richtige ist, aber wie auch immer man lernt ja am besten aus Fehlern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Jetzt mal zu meinen ersten Fragen, wieweit bin ich bis hier hin zum Text aufm richtigen Weg? Ist es wirklich richtig das man sowenig wie möglich über Funktionsübergaben regelt?</p>
<p>So, und wenn das oben stimmt, wie kann ich von</p>
<ul>
<li>
<p>Player</p>
</li>
<li>
<p>Draw</p>
</li>
</ul>
<p>die</p>
<ul>
<li>
<p>Graphics</p>
</li>
<li>
<p>DrawPlayer</p>
</li>
</ul>
<p>Funktion aufrufen ohne auch nur eine Funktionsübergabe?<br />
Ich brauch ja vom Player aus das Objekt das schon vorher in der Graphics Klasse das Fenster aufgemacht hat, und wie soll ich das bitte rausfinden ohne übergabe? irgendwie steh ich auf nem Schlauch..<br />
Auch zum Abfragen was das Objekt sein könnte, brauch ich ja das Objekt das eben das Graphics objekt kreiert hat, und das wäre ja wieder eine übergabe...</p>
<p>Ich weis schon das ich es lösen könnte über andere Wege, aber ich wills jetzt einfach so erreichen wie es im schönsten Fall ist! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Vielen Dank fürs Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309094/klassen-objekte-realisierung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 12:09:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309094.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Oct 2012 05:10:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 05:10:09 GMT]]></title><description><![CDATA[<p>Guten Tag,</p>
<p>Ich bin immernoch an meinem kleinen Bomberman und habe schon n paarmal neu angefangen, wie das halt so ist am anfang <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> , und steh immernoch irgendwie an derselben Frage..</p>
<p>Nun, ich habe hier eben mein Bomberman, hab es ganz ganz am Anfang aufgeteilt in 4 Klassen:</p>
<ul>
<li>Game</li>
<li>Map</li>
<li>Graphics</li>
<li>Player</li>
</ul>
<p>Wobei jede Klasse ihre eigenen Funktionen hat:</p>
<ul>
<li>
<p>Game</p>
</li>
<li>
<p>Run</p>
</li>
<li>
<p>Map</p>
</li>
<li>
<p>Load</p>
</li>
<li>
<p>getMap</p>
</li>
<li>
<p>Graphics</p>
</li>
<li>
<p>DrawMap</p>
</li>
<li>
<p>DrawPlayer</p>
</li>
<li>
<p>MovePlayer</p>
</li>
<li>
<p>Player</p>
</li>
<li>
<p>Update</p>
</li>
<li>
<p>Move</p>
</li>
<li>
<p>Draw</p>
</li>
</ul>
<p>Nun habe ich es hingebracht das das Spiel läuft, aber bis jetzt immer unschön, will heissen das ich es zwar geschafft habe indem ich:</p>
<ul>
<li>Alles in Funktionsübergaben gepackt habe.</li>
<li>Das Game Objekt überall übergeben habe (also wirklich fast jede Funktion hatte das Game Objekt als übergabeparameter..).</li>
<li>Alles global deklarieren.</li>
</ul>
<p>Nun, ich habe sehr sehr viel gelesen in letzter Zeit über C++, und irgendwie hab ich einfach im Kopf das:</p>
<ul>
<li>Man sollte wenn möglichst OHNE Funktionsübergabe auskommen.</li>
<li>Man sollte ALLES über getFunktionen (Will heissen man sollte alles abfragen können von den anderen Klassen) kriegen.</li>
<li>OHNE globale Variablen auskommen!</li>
</ul>
<p>Nun versuche ich jetzt mein Projekt irgendwie mit denen Voraussetzungen, wobei ich mir ehrlich gesagt nichtmal sicher bin ob das überhaupt das richtige ist, aber wie auch immer man lernt ja am besten aus Fehlern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Jetzt mal zu meinen ersten Fragen, wieweit bin ich bis hier hin zum Text aufm richtigen Weg? Ist es wirklich richtig das man sowenig wie möglich über Funktionsübergaben regelt?</p>
<p>So, und wenn das oben stimmt, wie kann ich von</p>
<ul>
<li>
<p>Player</p>
</li>
<li>
<p>Draw</p>
</li>
</ul>
<p>die</p>
<ul>
<li>
<p>Graphics</p>
</li>
<li>
<p>DrawPlayer</p>
</li>
</ul>
<p>Funktion aufrufen ohne auch nur eine Funktionsübergabe?<br />
Ich brauch ja vom Player aus das Objekt das schon vorher in der Graphics Klasse das Fenster aufgemacht hat, und wie soll ich das bitte rausfinden ohne übergabe? irgendwie steh ich auf nem Schlauch..<br />
Auch zum Abfragen was das Objekt sein könnte, brauch ich ja das Objekt das eben das Graphics objekt kreiert hat, und das wäre ja wieder eine übergabe...</p>
<p>Ich weis schon das ich es lösen könnte über andere Wege, aber ich wills jetzt einfach so erreichen wie es im schönsten Fall ist! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Vielen Dank fürs Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260188</guid><dc:creator><![CDATA[Flutscherino]]></dc:creator><pubDate>Sun, 14 Oct 2012 05:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 05:56:46 GMT]]></title><description><![CDATA[<p>Wieso zum Teufel sollte man ohne Funktionsübergaben auskommen? Vielleicht hast du falsch verstanden, dass man call-by-value bei Klassen vermeiden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260191</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 14 Oct 2012 05:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 06:26:43 GMT]]></title><description><![CDATA[<p>Najq ich hatte halt wirklichn ALLES per parameter übergeben, das sah ziemlich verwirrend aus.. Vieleicht hab ich da wirklich was falsches reinintepretiert, aber ist es nocht so das es schöner is umso weniger paraneter man in der übergabe hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260194</guid><dc:creator><![CDATA[Flutscherino]]></dc:creator><pubDate>Sun, 14 Oct 2012 06:26:43 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 06:32:30 GMT]]></title><description><![CDATA[<p>Flutscherino schrieb:</p>
<blockquote>
<p>Najq ich hatte halt wirklichn ALLES per parameter übergeben, das sah ziemlich verwirrend aus.. Vieleicht hab ich da wirklich was falsches reinintepretiert, aber ist es nocht so das es schöner is umso weniger paraneter man in der übergabe hat?</p>
</blockquote>
<p>Ja, also man sollte so viele Parameter haben wie es Sinn macht. 7 sind wahrscheinlich schon zu viel, aber das hängt halt von der Situation ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260195</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 14 Oct 2012 06:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 06:58:39 GMT]]></title><description><![CDATA[<p>Bei elementaren Datentypen ist aber auch Call-by-Value absolut ok, so habe ich das jedenfalls mal irgendwo gelesen.</p>
<p>Wenn du das Gameobjekt jedes mal übergeben musst, macht es dann nicht mehr Sinn dass das Gameobjekt Instanzen von deinen Players, Maps etc erzeugt und hält?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260200</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 14 Oct 2012 06:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 06:59:08 GMT]]></title><description><![CDATA[<p>Grasshopper schrieb:</p>
<blockquote>
<p>Bei elementaren Datentypen ist aber auch Call-by-Value absolut ok, so habe ich das jedenfalls mal irgendwo gelesen.</p>
</blockquote>
<p>Natürlich, Skalare sind ja nur ein paar Bytes groß. Da bringt eine Referenz überhaupt keinen Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260202</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 14 Oct 2012 06:59:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 08:17:11 GMT]]></title><description><![CDATA[<p>Grasshopper schrieb:</p>
<blockquote>
<p>Bei elementaren Datentypen ist aber auch Call-by-Value absolut ok, so habe ich das jedenfalls mal irgendwo gelesen.</p>
</blockquote>
<p>Richtig. Und nicht nur da. Ich übergebe alles was &lt;=10Bytes groß ist als <code>by-value</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260213</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sun, 14 Oct 2012 08:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 08:18:29 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Grasshopper schrieb:</p>
<blockquote>
<p>Bei elementaren Datentypen ist aber auch Call-by-Value absolut ok, so habe ich das jedenfalls mal irgendwo gelesen.</p>
</blockquote>
<p>Richtig. Und nicht nur da. Ich übergebe alles was &lt;=10Bytes groß ist als <code>by-value</code></p>
</blockquote>
<p>Wie stehts mit <code>long double</code> ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260214</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 14 Oct 2012 08:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 08:20:03 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>out schrieb:</p>
<blockquote>
<p>Grasshopper schrieb:</p>
<blockquote>
<p>Bei elementaren Datentypen ist aber auch Call-by-Value absolut ok, so habe ich das jedenfalls mal irgendwo gelesen.</p>
</blockquote>
<p>Richtig. Und nicht nur da. Ich übergebe alles was &lt;=10Bytes groß ist als <code>by-value</code></p>
</blockquote>
<p>Wie stehts mit <code>long double</code> ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Hat bei mir 10 Bytes. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260215</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sun, 14 Oct 2012 08:20:03 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 12:19:36 GMT]]></title><description><![CDATA[<p>Aha, aha, wiedermal was wichtiges gelernt.</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260268</guid><dc:creator><![CDATA[Flutscherino]]></dc:creator><pubDate>Sun, 14 Oct 2012 12:19:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 12:32:05 GMT]]></title><description><![CDATA[<p>Zur Info: Crosspost mit dem <a href="http://www.spieleprogrammierer.de/18-c-cplusplus-csharp-delphi-java-python-und-lua/19015-klassen-objekte-realisierung/" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260270</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 14 Oct 2012 12:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 13:42:11 GMT]]></title><description><![CDATA[<p>Da bist du <strong>Supermoderator</strong>!?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260286</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 14 Oct 2012 13:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen&#x2F;Objekte realisierung.. on Sun, 14 Oct 2012 14:09:49 GMT]]></title><description><![CDATA[<p>Öhm.. ja?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260292</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 14 Oct 2012 14:09:49 GMT</pubDate></item></channel></rss>