<?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[C++ rein abstrakte Klassen???]]></title><description><![CDATA[<p>Hallo, nun wollte ich mich dran machen eine saubere Klassenimplementation für mein späteres eigentliches Projekt zum Thema Sockets zu schreiben und da fiel mir eines auf:</p>
<p>Gibt es eigentlich in C++ die Möglichkeit rein abstrakte Klassen zu definieren?</p>
<p>Das Problem ist, das Objekte der Oberklasse in meinem Fall nicht sinnvoll wären.<br />
Nun wie definiere ich denn dann eine abstrakte Klasse ohne das virtual ... =0<br />
es gibt da keine Funktion bei der das virtual in meinem Fall sinn machen würde, da alle Funktionen in den abgeleiteten Klassen genau so benötigt werden.</p>
<p>Ich hab gelesen das es allerdings so gehen könnte wenn man den Destruktor virtual deklarieren würde, allerdings meckert da mein Compiler wenn ich schreibe</p>
<p>~Klassenname()=0;</p>
<p>Also gibts denn dann da nen Workaround.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160176/c-rein-abstrakte-klassen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 05:13:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160176.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Sep 2006 17:09:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Fri, 22 Sep 2006 17:09:59 GMT]]></title><description><![CDATA[<p>Hallo, nun wollte ich mich dran machen eine saubere Klassenimplementation für mein späteres eigentliches Projekt zum Thema Sockets zu schreiben und da fiel mir eines auf:</p>
<p>Gibt es eigentlich in C++ die Möglichkeit rein abstrakte Klassen zu definieren?</p>
<p>Das Problem ist, das Objekte der Oberklasse in meinem Fall nicht sinnvoll wären.<br />
Nun wie definiere ich denn dann eine abstrakte Klasse ohne das virtual ... =0<br />
es gibt da keine Funktion bei der das virtual in meinem Fall sinn machen würde, da alle Funktionen in den abgeleiteten Klassen genau so benötigt werden.</p>
<p>Ich hab gelesen das es allerdings so gehen könnte wenn man den Destruktor virtual deklarieren würde, allerdings meckert da mein Compiler wenn ich schreibe</p>
<p>~Klassenname()=0;</p>
<p>Also gibts denn dann da nen Workaround.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142727</guid><dc:creator><![CDATA[Procrash]]></dc:creator><pubDate>Fri, 22 Sep 2006 17:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Fri, 22 Sep 2006 17:14:58 GMT]]></title><description><![CDATA[<p>procrash schrieb:</p>
<blockquote>
<p>Hallo, nun wollte ich mich dran machen eine saubere Klassenimplementation für mein späteres eigentliches Projekt zum Thema Sockets zu schreiben und da fiel mir eines auf:</p>
<p>Gibt es eigentlich in C++ die Möglichkeit rein abstrakte Klassen zu definieren?</p>
</blockquote>
<p>Ja.</p>
<blockquote>
<p>Das Problem ist, das Objekte der Oberklasse in meinem Fall nicht sinnvoll wären.<br />
Nun wie definiere ich denn dann eine abstrakte Klasse ohne das virtual ... =0</p>
</blockquote>
<p>Über virtual xxx = 0; <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>
<blockquote>
<p>Ich hab gelesen das es allerdings so gehen könnte wenn man den Destruktor virtual deklarieren würde, allerdings meckert da mein Compiler wenn ich schreibe</p>
<p>~Klassenname()=0;</p>
</blockquote>
<p>Na ja, vllt. weil das virtual fehlt?</p>
<p>Siehe auch hier: <a href="http://tutorial.schornboeck.net/pure_virtual.htm" rel="nofollow">http://tutorial.schornboeck.net/pure_virtual.htm</a></p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142731</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Fri, 22 Sep 2006 17:14:58 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Fri, 22 Sep 2006 17:39:59 GMT]]></title><description><![CDATA[<p>Hier gibt es noch einen schönen langen Thread zu diesem Thema<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-159390.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-159390.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142747</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 22 Sep 2006 17:39:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Fri, 22 Sep 2006 21:50:59 GMT]]></title><description><![CDATA[<p>man muss eine funktion gleich null setzen und nicht einfach virtual.</p>
<p>d.h.:<br />
anstatt von<br />
void bla();</p>
<p>halt<br />
void bla() = 0; // darf afaik nicht definiert werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142891</guid><dc:creator><![CDATA[Herrb]]></dc:creator><pubDate>Fri, 22 Sep 2006 21:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Fri, 22 Sep 2006 22:21:29 GMT]]></title><description><![CDATA[<p>Das eigentliche Problem ist das du den Destruktor warscheinlich nicht definiert hast.</p>
<pre><code class="language-cpp">class foo
{
  virtual ~foo() = 0;
};

foo::~foo()
{}
</code></pre>
<p>Das ist nämlich immer notwendig, auch wenn dein D'tor rein virtuell ist!<br />
Achja, virtuell sollte er sowiso sein wenn deine Klasse als Basisklasse fungiert.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142902</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 22 Sep 2006 22:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Sat, 23 Sep 2006 09:14:02 GMT]]></title><description><![CDATA[<p>Herrb schrieb:</p>
<blockquote>
<p>...= 0; // darf afaik nicht definiert werden</p>
</blockquote>
<p>Hab' ich auch mal gedacht. Stimmt aber nicht ! s.a. o.a. link <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>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142971</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sat, 23 Sep 2006 09:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Sat, 23 Sep 2006 21:46:49 GMT]]></title><description><![CDATA[<p>Alle Konstruktoren der abstrakten Klasse als &quot;protected&quot; deklarieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1143251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1143251</guid><dc:creator><![CDATA[anonymus]]></dc:creator><pubDate>Sat, 23 Sep 2006 21:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Sat, 23 Sep 2006 21:49:16 GMT]]></title><description><![CDATA[<p>anonymus schrieb:</p>
<blockquote>
<p>Alle Konstruktoren der abstrakten Klasse als &quot;protected&quot; deklarieren?</p>
</blockquote>
<p>Und dann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1143255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1143255</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sat, 23 Sep 2006 21:49:16 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Sun, 24 Sep 2006 05:26:24 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>anonymus schrieb:</p>
<blockquote>
<p>Alle Konstruktoren der abstrakten Klasse als &quot;protected&quot; deklarieren?</p>
</blockquote>
<p>Und dann?</p>
</blockquote>
<p>dann kann nurnoch eine abgeleitete Klasse Objekte davon erstellen. Alle andren haben kein zugriffsrecht mehr auf den Ctor.</p>
<p>ist eine alternative zum abstrakten dtor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1143293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1143293</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sun, 24 Sep 2006 05:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to C++ rein abstrakte Klassen??? on Sun, 24 Sep 2006 09:12:32 GMT]]></title><description><![CDATA[<p>Yo, da find ich dein rein virtuellen D'tor aber eingängiger!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1143343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1143343</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sun, 24 Sep 2006 09:12:32 GMT</pubDate></item></channel></rss>