<?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[Frage zum Design]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe Folgendes:</p>
<pre><code class="language-cpp">class AAA
{
public:
int methodXXX();
//hier kommen alle anderen Funktionen der Klasse
private:
//hier kommen die ganzen Daten der Klasse
};

class BBB
{
int methodYYY();
//hier kommen alle anderen Funktionen der Klasse
private:
//hier kommen die ganzen Daten der Klasse
};

class CCC
{
int *GetPointer() {return (0);}
//hier kommen alle anderen Funktionen der Klasse
private:
int *pointerToXYZ;
int xyz;
//hier kommen die ganzen Daten der Klasse
};
</code></pre>
<p>Die Klasse AAA und BBB benötigen beide den pointer aus der Klasse CCC.<br />
Allerdings müssen beide auf die gleiche Ausführung von xyz zeigen.<br />
Ausserdem kann ich im Moment noch nicht ausschließen das ich vielleicht eine Klasse DDD haben werde die doch eine andere Ausführng von xyz benötigt, xyz kann also nicht statisch sein.<br />
Ist die einzigste möglichkeit ein globales Objekt oder gibt es eine elegantere Lösung.</p>
<p>vielen dank fürs Durchlesen.<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230048/frage-zum-design</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 10:55:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230048.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Dec 2008 15:13:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 15:13:58 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe Folgendes:</p>
<pre><code class="language-cpp">class AAA
{
public:
int methodXXX();
//hier kommen alle anderen Funktionen der Klasse
private:
//hier kommen die ganzen Daten der Klasse
};

class BBB
{
int methodYYY();
//hier kommen alle anderen Funktionen der Klasse
private:
//hier kommen die ganzen Daten der Klasse
};

class CCC
{
int *GetPointer() {return (0);}
//hier kommen alle anderen Funktionen der Klasse
private:
int *pointerToXYZ;
int xyz;
//hier kommen die ganzen Daten der Klasse
};
</code></pre>
<p>Die Klasse AAA und BBB benötigen beide den pointer aus der Klasse CCC.<br />
Allerdings müssen beide auf die gleiche Ausführung von xyz zeigen.<br />
Ausserdem kann ich im Moment noch nicht ausschließen das ich vielleicht eine Klasse DDD haben werde die doch eine andere Ausführng von xyz benötigt, xyz kann also nicht statisch sein.<br />
Ist die einzigste möglichkeit ein globales Objekt oder gibt es eine elegantere Lösung.</p>
<p>vielen dank fürs Durchlesen.<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632935</guid><dc:creator><![CDATA[socco]]></dc:creator><pubDate>Fri, 19 Dec 2008 15:13:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 15:24:17 GMT]]></title><description><![CDATA[<p>In wie fern soll da ein globales Objekt helfen?</p>
<p>Also ich würde es ungefähr so machen:</p>
<pre><code class="language-cpp">void foo()
{
    CCC c_object;
    AAA a_object;
    BBB b_object;

    c_object.givePointerTo(a_object);
    c_object.givePointerTo(b_object);
}
</code></pre>
<p>Eventuell ist es auch möglich, den Zeiger direkt bei der Initialisierung der Objekte zu übergeben. Je nach dem, zu welchen Zeitpunkt sie erstellt werden.</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632945</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Fri, 19 Dec 2008 15:24:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 15:46:41 GMT]]></title><description><![CDATA[<p>ich dachte wenn ich ein globales Object von CCC habe kann ich darauf sowohl in AAA als auch in BBB zugreifen, wenn ich dann für DDD eine andere Instanz brauche dann könnte ich die Lokal erstellen.</p>
<p>Wo soll denn foo() definiert werden?<br />
Wenn ich das richtig verstehe soll givePointerTo(...) dem argument einen zeiger<br />
auf sich selbst übergeben.<br />
Die Idée gefällt mir gut.<br />
Was brauche ich alles für die Funktion?<br />
Wie sieht die aus?<br />
Muss ich die für jedes object überladen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632950</guid><dc:creator><![CDATA[socco]]></dc:creator><pubDate>Fri, 19 Dec 2008 15:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 17:00:07 GMT]]></title><description><![CDATA[<p>Ich denke mal, dass du hier Vererbung suchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633003</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 19 Dec 2008 17:00:07 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 17:48:48 GMT]]></title><description><![CDATA[<p>vielleicht sollte ich mein konkretes Problem schildern, dann wird es vielleicht deutlicher.<br />
Ich habe eine Klasse die sich um die Erstellung eines Fensters kümmert, eine andere die Direct3d einbindet und eine 3 die sich um die Textausgabe kümmert.<br />
Die Direct3D Klasse hat einen Zeiger auf die Klasse die fast alle Direct3D funktionen beinhaltet und wird zum Beispiel in der TextKlasse gebraucht und auch in der Fensterklasse usw.. Jezt muss der zeiger aber in jeder anderen Klasse auf die gleiche instace zeigen da ich sonst merere d3dDevices habe.<br />
Wenn ich es vererbe schleppe ich überall die Direct3d Klasse mit.</p>
<p>Ich komme noch nicht ganz hinter das Konzept von Don6.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633028</guid><dc:creator><![CDATA[socco]]></dc:creator><pubDate>Fri, 19 Dec 2008 17:48:48 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 17:53:05 GMT]]></title><description><![CDATA[<p>Dann übergib doch einfach einen Zeiger/Referenz auf die Klasse an jedes Objekt, dass darauf zugreifen muss.</p>
<pre><code class="language-cpp">int main ()
{
...
Direct3D a;

Font f ( &amp;a );
Window w ( &amp;a );
...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1633031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633031</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 19 Dec 2008 17:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 18:20:02 GMT]]></title><description><![CDATA[<p>Tut mir leid aber ich bin noch ziehmlich unerfahren mit dem Umgang mit Klassen.<br />
Das sollte aber helfen.<br />
Das einzigste wo ich noch bedenken habe ist das alles zusammen in einer Funktion oder zumindest in einer Datei stehen muss (oder?).</p>
<p>Ich könnte vielleicht das Direct3D object in der Headerdatei unter der Klassendifinition erstellen. Dann müsste ich nur die header einbinden.<br />
Oder ist es falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633037</guid><dc:creator><![CDATA[socco]]></dc:creator><pubDate>Fri, 19 Dec 2008 18:20:02 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 18:28:16 GMT]]></title><description><![CDATA[<p>socco schrieb:</p>
<blockquote>
<p>Tut mir leid aber ich bin noch ziehmlich unerfahren mit dem Umgang mit Klassen.<br />
Das sollte aber helfen.<br />
Das einzigste wo ich noch bedenken habe ist das alles zusammen in einer Funktion oder zumindest in einer Datei stehen muss (oder?).</p>
<p>Ich könnte vielleicht das Direct3D object in der Headerdatei unter der Klassendifinition erstellen. Dann müsste ich nur die header einbinden.<br />
Oder ist es falsch.</p>
</blockquote>
<p>Ich weiss jetzt nicht genau, was du meinst, aber du kannst das ganze ja hierarchisch arbeiten lassen. Sprich Am Anfang übergibst du nur 2 Zeiger, die dann den Zeiger wiederrum weitergeben usw. Damit du die Klasse benutzen kannst, musst du dann natürlich den Header einbinden. Den Overhead kannst du dann aber verringern, indem du das Body-Handle Idiom benutzt. (Spielt bei dir aber wahrscheinlich nicht so eine Rolle)</p>
<p>btw:<br />
einzigste gibt es nicht. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1633041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633041</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 19 Dec 2008 18:28:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 18:48:05 GMT]]></title><description><![CDATA[<p>Danke, ich denke ich habs jetzt.</p>
<p>Hab mal nach Body-Handle Idiom gegoogelt - noch ein weiter Weg bis dahin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633055</guid><dc:creator><![CDATA[socco]]></dc:creator><pubDate>Fri, 19 Dec 2008 18:48:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Design on Fri, 19 Dec 2008 18:53:18 GMT]]></title><description><![CDATA[<p>socco schrieb:</p>
<blockquote>
<p>Danke, ich denke ich habs jetzt.</p>
<p>Hab mal nach Body-Handle Idiom gegoogelt - noch ein weiter Weg bis dahin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Das ist halb so wild. Wenn du es mal verstanden hast, dann ists recht logisch. <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>Allerdings wirst du das noch nicht brauchen, da es unnötige Arbeit ist, wenn du die Schnittstelle sowieso oft ändern musst, was du als Anfänger definitiv tust. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1633059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633059</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 19 Dec 2008 18:53:18 GMT</pubDate></item></channel></rss>