<?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[Zeiger auf fremde Klasse]]></title><description><![CDATA[<p>Ich bin gerade dabei mit SFML zu programmieren. Ich habe eine frage die sowohl den style, als auch die sicherheit des Codes betrifft. Ich habe eine Klasse Window die das Sfml fenster erstellt und verwaltet. Nun habe ich eine Klasse StartWindow erstellt, die auf das Window seine Modelle anzeigt und die Events abfängt.</p>
<pre><code class="language-cpp">// Main

int main()
{
    Window window(400,800, &quot;Test&quot;);

    //StartWindow bekommt die Adresse von sf::RenderWindow
    StartWindow *startWindow = new StartWindow(window.GetWindowObjekt());

    //While
    if(Event=exit) { delete startWindow; window.Close(); } 
    if(Event=start) { delete startWindow; } //weiter zum game...

    GameWindow *gameWindow = new GameWindow(window.GetWindowObjekt());
}
</code></pre>
<p>Normal übergebe ich bei jeder Funktion den Zeiger. Ich habe mir überlegt die Adresse einfach zu speichern. OK?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296382/zeiger-auf-fremde-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 00:57:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296382.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Dec 2011 18:20:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf fremde Klasse on Sat, 03 Dec 2011 18:20:08 GMT]]></title><description><![CDATA[<p>Ich bin gerade dabei mit SFML zu programmieren. Ich habe eine frage die sowohl den style, als auch die sicherheit des Codes betrifft. Ich habe eine Klasse Window die das Sfml fenster erstellt und verwaltet. Nun habe ich eine Klasse StartWindow erstellt, die auf das Window seine Modelle anzeigt und die Events abfängt.</p>
<pre><code class="language-cpp">// Main

int main()
{
    Window window(400,800, &quot;Test&quot;);

    //StartWindow bekommt die Adresse von sf::RenderWindow
    StartWindow *startWindow = new StartWindow(window.GetWindowObjekt());

    //While
    if(Event=exit) { delete startWindow; window.Close(); } 
    if(Event=start) { delete startWindow; } //weiter zum game...

    GameWindow *gameWindow = new GameWindow(window.GetWindowObjekt());
}
</code></pre>
<p>Normal übergebe ich bei jeder Funktion den Zeiger. Ich habe mir überlegt die Adresse einfach zu speichern. OK?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152467</guid><dc:creator><![CDATA[BTA]]></dc:creator><pubDate>Sat, 03 Dec 2011 18:20:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf fremde Klasse on Sat, 03 Dec 2011 18:26:33 GMT]]></title><description><![CDATA[<p>Der Code sieht nicht sonderlich schön aus und enthält bereits auf dem ersten Blick Fehler. Schau dir mal deine Abfrage an, denn = und == unterscheiden sich gewaltig und das Programm tut nicht das, was du erwarten würdest!</p>
<p>Insgesamt ist mir nicht ganz klar, was du jetzt eigentlich für eine Antwort erwartest?</p>
<p>Wenn es dir um das Anzeigen verschiedener Bildschirme (Hauptmenü, Optionen, etc.) geht, dann such mal nach Game State Manager oder so bei Google.</p>
<p>Dein Ansatz ist schon alleine wegen den ganzen Zeigern ziemlich unschön und gefährlich (Speicherleaks, unübersichtlich, etc.).</p>
<p>Übrigebs heißt Objekt auf Englisch Object. Und ich würde den Zusatz ohnehin weglassen, da es bereits aus dem Funktionsnamen hervorgeht, dass ein Window-Objekt zurückgeben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152475</guid><dc:creator><![CDATA[klöklö]]></dc:creator><pubDate>Sat, 03 Dec 2011 18:26:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf fremde Klasse on Sat, 03 Dec 2011 18:26:57 GMT]]></title><description><![CDATA[<p>Wozu die ganzen new? Das ist sowohl langsam als auch nicht exception save.<br />
Was soll die Klasse StartWindow noch mal darstellen? Also das Konzept ist mir so ganz und gar nicht geheuer. (Die offensichtlichen Fehler habe ich jetzt mal ignoriert..)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152476</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 03 Dec 2011 18:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf fremde Klasse on Sat, 03 Dec 2011 19:42:03 GMT]]></title><description><![CDATA[<p>Du zeigst irgendwie einen unvollständigen Code (deutest irgendwelche while-Schleifen an) und fragst, wie's mit der Sicherheit aussieht... Ganz schlecht sage ich. Ist es gewährleistet, dass eines der beiden Events 100%-ig auftritt? Wenn nicht, dann wird startWindow gar nicht gelöscht. gameWindow sowieso nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152504</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Sat, 03 Dec 2011 19:42:03 GMT</pubDate></item></channel></rss>