<?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[Membervariable nutzen]]></title><description><![CDATA[<p>Hallo,</p>
<p>im Zuge des Lernens von C++ und meiner momentan Spielerei mit Pointern, Klassen und Co. bin ich auf etwas gestoßen, was mir noch nicht so ganz klar ist:</p>
<p>Folgende Header-Datei</p>
<pre><code class="language-cpp">class A {
public:
	void doStuff();
	A();
private
	B* foo;
};
</code></pre>
<p>(Pseudocode)</p>
<p>Mir gehts, wer häts gedacht, um den Pointer. Der Konstruktor von A:</p>
<pre><code class="language-cpp">A::A() {
	foo = new B(1, 2, 3);
}
</code></pre>
<p>Damit wird foo als Klasse von B erzeugt, richtig? Aber wie verwende ich dieses Objekt innerhalb der Klasse nun?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307730/membervariable-nutzen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 16:01:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307730.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Sep 2012 22:23:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Membervariable nutzen on Mon, 03 Sep 2012 22:23:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>im Zuge des Lernens von C++ und meiner momentan Spielerei mit Pointern, Klassen und Co. bin ich auf etwas gestoßen, was mir noch nicht so ganz klar ist:</p>
<p>Folgende Header-Datei</p>
<pre><code class="language-cpp">class A {
public:
	void doStuff();
	A();
private
	B* foo;
};
</code></pre>
<p>(Pseudocode)</p>
<p>Mir gehts, wer häts gedacht, um den Pointer. Der Konstruktor von A:</p>
<pre><code class="language-cpp">A::A() {
	foo = new B(1, 2, 3);
}
</code></pre>
<p>Damit wird foo als Klasse von B erzeugt, richtig? Aber wie verwende ich dieses Objekt innerhalb der Klasse nun?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2248254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2248254</guid><dc:creator><![CDATA[Hendriks]]></dc:creator><pubDate>Mon, 03 Sep 2012 22:23:48 GMT</pubDate></item><item><title><![CDATA[Reply to Membervariable nutzen on Mon, 03 Sep 2012 22:45:29 GMT]]></title><description><![CDATA[<p>So wie jede andere Variable.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2248260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2248260</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 03 Sep 2012 22:45:29 GMT</pubDate></item><item><title><![CDATA[Reply to Membervariable nutzen on Tue, 04 Sep 2012 06:16:34 GMT]]></title><description><![CDATA[<p>Hendriks schrieb:</p>
<blockquote>
<p>Damit wird foo als Klasse von B erzeugt, richtig?</p>
</blockquote>
<p>Nein, ganz falsch.<br />
B ist eine Klasse, foo nicht. foo ist ein Pointer auf ein Objekt vom Typ B, d.h. das worauf foo zeigt soll die Eigenschaften der Klasse B haben. Vor der besagten Zeile zeigt foo irgendwo ins Nirvana (also auch nicht auf ein Objekt vom Typ B), erst mit dem new forderst du Speicher an, erzeugst in dem neu angeforderten Speicher ein Objekt vom Typ B und lässt foo dann darauf zeigen.</p>
<p>Später kannst du dann foo wie jeden anderen Pointer auch benutzen.<br />
Allerdings sollte man sich immer überlegen, ob foo ein Pointer sein muss (statt einer normalen Membervariablen vom Typ B), und falls es der Fall ist sollte man an der Stelle auf jeden Fall Smartpointer verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2248284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2248284</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 04 Sep 2012 06:16:34 GMT</pubDate></item><item><title><![CDATA[Reply to Membervariable nutzen on Tue, 04 Sep 2012 07:15:39 GMT]]></title><description><![CDATA[<p>Smartpointer benutzen warum? Weil du dir dann keine Gedanken um das Freigeben des Speichers (zerstören des Objektes foo) machen musst. Ansonsten solltest du im hier gezeigten Fall zumindest spätestens einen Destruktor mit der Zerstörung von foo beauftragen (delete foo).<br />
Gruß</p>
<p>Ach so; benutzen z.B. wenn B eine Methode tuWas() hat: foo-&gt;tuWas();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2248293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2248293</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Tue, 04 Sep 2012 07:15:39 GMT</pubDate></item><item><title><![CDATA[Reply to Membervariable nutzen on Tue, 04 Sep 2012 08:36:03 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Erklärung!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2248308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2248308</guid><dc:creator><![CDATA[Hendri]]></dc:creator><pubDate>Tue, 04 Sep 2012 08:36:03 GMT</pubDate></item></channel></rss>