<?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[Allgemeine Designfrage Objektübergabe]]></title><description><![CDATA[<p>Folgende Vorgehensweise sollte kein Problem ergeben oder:</p>
<pre><code class="language-cpp">...
void main()
{
    ClassA *classA = new ClassA();

    ClassB *classB = new ClassB(classA);
    ...
}

ClassB
{
    public:
        ClassB(ClassA *classA);
        ~ClassB();

    private:
        ClassA *classA;

}

ClassB::ClassB(ClassA *classA)
{
    this-&gt;classA = classA;
}
</code></pre>
<p>Sollte so funktionieren, oder ? (beim Copy-Konstruktor wird ja jedesmal neuer Speicher angelegt was ich vermeiden möchte)</p>
<p>Danke für Tipps bzw. Verbesserungsvorschläge!</p>
<p>MfG leon22</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272387/allgemeine-designfrage-objektübergabe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 22:18:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272387.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Aug 2010 18:41:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 18:41:58 GMT]]></title><description><![CDATA[<p>Folgende Vorgehensweise sollte kein Problem ergeben oder:</p>
<pre><code class="language-cpp">...
void main()
{
    ClassA *classA = new ClassA();

    ClassB *classB = new ClassB(classA);
    ...
}

ClassB
{
    public:
        ClassB(ClassA *classA);
        ~ClassB();

    private:
        ClassA *classA;

}

ClassB::ClassB(ClassA *classA)
{
    this-&gt;classA = classA;
}
</code></pre>
<p>Sollte so funktionieren, oder ? (beim Copy-Konstruktor wird ja jedesmal neuer Speicher angelegt was ich vermeiden möchte)</p>
<p>Danke für Tipps bzw. Verbesserungsvorschläge!</p>
<p>MfG leon22</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940744</guid><dc:creator><![CDATA[leon22]]></dc:creator><pubDate>Mon, 16 Aug 2010 18:41:58 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 19:19:23 GMT]]></title><description><![CDATA[<p>du machst halt eine flache kopie, aber was ist jetzt deine frage `?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940750</guid><dc:creator><![CDATA[ziv]]></dc:creator><pubDate>Mon, 16 Aug 2010 19:19:23 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 19:41:37 GMT]]></title><description><![CDATA[<p>Den Wert einer Variable in einer Membervariable abzulegen bezeichnet man normalerweise nicht als &quot;flache Kopie&quot;... <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/1940759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940759</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 16 Aug 2010 19:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 19:48:49 GMT]]></title><description><![CDATA[<p>Ist das nicht relativ egal in diesem Fall, da ja nicht das Objekt selbst sondern nur ein Zeiger übergeben wird? Würde es noch was bringen das über eine Initialisierungsliste zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940761</guid><dc:creator><![CDATA[cppfrager]]></dc:creator><pubDate>Mon, 16 Aug 2010 19:48:49 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 20:39:33 GMT]]></title><description><![CDATA[<p>Also normalerweise sollte man über die Initialisierungsliste initialisieren.<br />
Ich würde eventuell noch für den Parameter einen anderen Namen nehmen zum Beispiel ein Unterstrich vorne dran oder so, find ich sieht übersichtlicher aus, denn dann kannst dir auch das this-&gt; sparen.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940777</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 16 Aug 2010 20:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 20:44:48 GMT]]></title><description><![CDATA[<p>Und wem gehört jetzt classA, d.h. wer ist für das Löschen zuständig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940779</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Mon, 16 Aug 2010 20:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Mon, 16 Aug 2010 21:07:37 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<p>Und wem gehört jetzt classA, d.h. wer ist für das Löschen zuständig?</p>
</blockquote>
<p>Das ist reine Definitionssache. Üblicherweise ist in dem Fall aber die main Funktion dafür verantwortlich, weil ihn ihrem aktuellen Scope auch bereits die Allokation statt gefunden hat. Wenn ClassB z.B explizit ein solches dynamisch angefordertes Objekt erwartet und sagt, dass es den selbst frei gibt, dann ist das auch Ok. In der Tat wird das sehr oft gemacht. Z.b bei Smart Pointern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940785</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 16 Aug 2010 21:07:37 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Tue, 17 Aug 2010 00:23:07 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Wenn ClassB z.B explizit ein solches dynamisch angefordertes Objekt erwartet und sagt, dass es den selbst frei gibt, dann ist das auch Ok. In der Tat wird das sehr oft gemacht. Z.b bei Smart Pointern.</p>
</blockquote>
<p>Und auch in einigen Libraries die vor dem Modern-Werden von Smart-Pointern entworfen wurden. Als Beispiel fällt mir die Crypto++ ein. Und wenn ich mich nicht irre machen das auch diverse Windowing-Toolkits so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1940798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1940798</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 17 Aug 2010 00:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Designfrage Objektübergabe on Tue, 17 Aug 2010 13:21:15 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Den Wert einer Variable in einer Membervariable abzulegen bezeichnet man normalerweise nicht als &quot;flache Kopie&quot;... <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>hups sorry, CTor nicht gelesen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941002</guid><dc:creator><![CDATA[ziv]]></dc:creator><pubDate>Tue, 17 Aug 2010 13:21:15 GMT</pubDate></item></channel></rss>