<?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[Abstrakte Klasse: &amp;quot;Platzhalter&amp;quot; für Namen der Unterklasse?]]></title><description><![CDATA[<p>Hallo,<br />
ich hätte eine kleine Frage betreffs der objektoriertierten Programmierung:</p>
<p>Ist es in C++ möglich, eine rein virtuelle Funktion zu implementierem, die als Rückgabewert ein Objekt der Unterklasse zurückgibt? Das Problem dabei ist ja, dass zur Zeit der implementierung der abstrakten Klasse mögliche Unterklassen noch unbekannt sind.</p>
<p>Gibt es dafür eine Art &quot;Platzhalter&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320784/abstrakte-klasse-quot-platzhalter-quot-für-namen-der-unterklasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 20:47:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320784.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Oct 2013 09:40:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Abstrakte Klasse: &amp;quot;Platzhalter&amp;quot; für Namen der Unterklasse? on Sat, 12 Oct 2013 09:40:07 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich hätte eine kleine Frage betreffs der objektoriertierten Programmierung:</p>
<p>Ist es in C++ möglich, eine rein virtuelle Funktion zu implementierem, die als Rückgabewert ein Objekt der Unterklasse zurückgibt? Das Problem dabei ist ja, dass zur Zeit der implementierung der abstrakten Klasse mögliche Unterklassen noch unbekannt sind.</p>
<p>Gibt es dafür eine Art &quot;Platzhalter&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2359778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2359778</guid><dc:creator><![CDATA[-* Christopher *-]]></dc:creator><pubDate>Sat, 12 Oct 2013 09:40:07 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakte Klasse: &amp;quot;Platzhalter&amp;quot; für Namen der Unterklasse? on Sat, 12 Oct 2013 10:12:19 GMT]]></title><description><![CDATA[<p>Natürlich geht das, dank Vorwärtsdeklarationen.</p>
<pre><code>struct A;

struct B
{
	virtual A pure_virtual_foo() = 0;
};

struct A : public B
{
	virtual A pure_virtual_foo()
	{
		return {};
	}
};

int main()
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2359782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2359782</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 12 Oct 2013 10:12:19 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakte Klasse: &amp;quot;Platzhalter&amp;quot; für Namen der Unterklasse? on Sat, 12 Oct 2013 10:37:06 GMT]]></title><description><![CDATA[<p>-= Christopher =- schrieb:</p>
<blockquote>
<p>Hallo,<br />
ich hätte eine kleine Frage betreffs der objektoriertierten Programmierung:</p>
<p>Ist es in C++ möglich, eine rein virtuelle Funktion zu implementierem, die als Rückgabewert ein Objekt der Unterklasse zurückgibt? Das Problem dabei ist ja, dass zur Zeit der implementierung der abstrakten Klasse mögliche Unterklassen noch unbekannt sind.</p>
<p>Gibt es dafür eine Art &quot;Platzhalter&quot;?</p>
</blockquote>
<p>Wird das wirklich gebraucht? Oder muss nur die Unterklasse den genauen Typ wissen?</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

struct B{
    virtual B* clone() = 0;
    virtual void print(){
        cout&lt;&lt;&quot;Ich bin ein B.\n&quot;;
    }
};

struct A : public B{
    virtual A* clone(){
        return new A(*this);
    }
    void print(){
        cout&lt;&lt;&quot;Ich bin ein A.\n&quot;;
    }
};

int main(){
    A* pa1=new A;
    A* pa2=pa1-&gt;clone();
    pa1-&gt;print();
    pa2-&gt;print();

    B* pb1=new A;
    B* pb2=pa1-&gt;clone();
    pb1-&gt;print();
    pb2-&gt;print();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2359784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2359784</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 12 Oct 2013 10:37:06 GMT</pubDate></item><item><title><![CDATA[Reply to Abstrakte Klasse: &amp;quot;Platzhalter&amp;quot; für Namen der Unterklasse? on Sun, 13 Oct 2013 13:29:48 GMT]]></title><description><![CDATA[<p>Letzteres hatte ich gesucht!<br />
Vielen Dank euch beiden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2359951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2359951</guid><dc:creator><![CDATA[-* Christopher *-]]></dc:creator><pubDate>Sun, 13 Oct 2013 13:29:48 GMT</pubDate></item></channel></rss>