<?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[Initialisierung einer Klasse verhindern]]></title><description><![CDATA[<p>Hallo c-plusplus-Forum!</p>
<p>Ich habe eine Klasse, die als Grundklasse in einem Vererbungsbaum dienen soll. Als reine Basisklasse soll es natürlich keine Instanzen der Klasse geben, daher habe ich den Konstruktur Foo() protected deklariert. Damit kann ich zwar Anweisungen der Art</p>
<pre><code class="language-cpp">Foo* f = new Foo();
</code></pre>
<p>verhindern, nicht jedoch</p>
<pre><code class="language-cpp">Foo f();
</code></pre>
<p>Ich will es aber dennoch verhindern können. Da in meiner Oberklasse noch kein rein virtuelles Verhalten definiert wurde, fehlen mir die Mittel, meine Klasse abstrakt zu machen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Wie kann ich die Instanzierung meiner Klasse Foo verhindern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/281719/initialisierung-einer-klasse-verhindern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 13:10:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/281719.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Feb 2011 19:42:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Sun, 06 Feb 2011 19:42:58 GMT]]></title><description><![CDATA[<p>Hallo c-plusplus-Forum!</p>
<p>Ich habe eine Klasse, die als Grundklasse in einem Vererbungsbaum dienen soll. Als reine Basisklasse soll es natürlich keine Instanzen der Klasse geben, daher habe ich den Konstruktur Foo() protected deklariert. Damit kann ich zwar Anweisungen der Art</p>
<pre><code class="language-cpp">Foo* f = new Foo();
</code></pre>
<p>verhindern, nicht jedoch</p>
<pre><code class="language-cpp">Foo f();
</code></pre>
<p>Ich will es aber dennoch verhindern können. Da in meiner Oberklasse noch kein rein virtuelles Verhalten definiert wurde, fehlen mir die Mittel, meine Klasse abstrakt zu machen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Wie kann ich die Instanzierung meiner Klasse Foo verhindern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017483</guid><dc:creator><![CDATA[Mitmischer 1703]]></dc:creator><pubDate>Sun, 06 Feb 2011 19:42:58 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Sun, 06 Feb 2011 19:48:05 GMT]]></title><description><![CDATA[<p>Du willst <code>Foo f()</code> nicht verhindern. Das ist eine Funktionsdeklaration.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017487</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 06 Feb 2011 19:48:05 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Sun, 06 Feb 2011 20:02:09 GMT]]></title><description><![CDATA[<p>Mitmischer 1703 schrieb:</p>
<blockquote>
<p>Wie kann ich die Instanzierung meiner Klasse Foo verhindern?</p>
</blockquote>
<p>Indem du alle Konstruktoren privat/protected machst. Das was du da hast ist, wie Nexus bereits gesagt hat keine Instanzierung eines Objektes und ist daher sinnfrei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017500</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 06 Feb 2011 20:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Sun, 06 Feb 2011 20:23:10 GMT]]></title><description><![CDATA[<p>stimmt, ich hatte die falsche Syntax in Erinnerung.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017520</guid><dc:creator><![CDATA[Mitmischer 1703]]></dc:creator><pubDate>Sun, 06 Feb 2011 20:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Mon, 07 Feb 2011 09:49:23 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Indem du alle Konstruktoren privat/protected machst.</p>
</blockquote>
<p>Alternativ: Destruktoren public und pure virtual machen (für polymorphe Basisklassen) oder protected.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017696</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 07 Feb 2011 09:49:23 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Mon, 07 Feb 2011 09:55:38 GMT]]></title><description><![CDATA[<p>Oder mach die Klasse abstrakt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017698</guid><dc:creator><![CDATA[abstrakte Kunst]]></dc:creator><pubDate>Mon, 07 Feb 2011 09:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Mon, 07 Feb 2011 09:56:49 GMT]]></title><description><![CDATA[<p>aso, das willst/kannst du nicht.. sry <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017700</guid><dc:creator><![CDATA[abstrakte Kunst]]></dc:creator><pubDate>Mon, 07 Feb 2011 09:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung einer Klasse verhindern on Mon, 07 Feb 2011 10:05:48 GMT]]></title><description><![CDATA[<p>Könnnen tut man es immer, durch rein virtuelle Destruktoren. Aber bei nicht-polymorphen Klassen ist es halt nicht sehr sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2017702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017702</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 07 Feb 2011 10:05:48 GMT</pubDate></item></channel></rss>