<?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[Klassenstruktur Sockets]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte gern verschiedene Sockets zu Beginn installieren. Alle Sockets sollen in einem separaten Thread initialisiert werden (mit CAsyncSocket aus der MFC).</p>
<p>Klassenstruktur:<br />
class Socket : public CasyncSocket {};<br />
class HttpSoc : public Socket {};<br />
class SnmpSoc : public Socket {};<br />
etc.</p>
<p>Jede Klasse weist eine virtuelle Funktion InitInstance() auf, die alle spezifischen Sockets installieren soll.</p>
<pre><code class="language-cpp">m_sockThread = (Socket*)AfxBeginThread(RUNTIME_CLASS(Socket), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
</code></pre>
<p>Dadurch wird in der App.cpp der Socket-Thread gestartet; und die InitInstance() Funktion von der class Socket aufgerufen.</p>
<p>Wie kann ich innerhalb dieser class auf die virtuelle InitInstance() Funktion der verschiedenen abgeleiteten Klassen zugreifen?</p>
<pre><code class="language-cpp">BOOL Socket::InitInstance()
{

   if(!HttpSoc::InitInstance())
       return FALSE;
}
</code></pre>
<p>Anders herum von der abgeleiteten Klasse die Basisklasse bzw. deren Methoden aufzurufen funktioniert. Aber dann kann ich ja nicht alle Sockets in einer Funktion enablen...</p>
<p>Gruß<br />
Andi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267538/klassenstruktur-sockets</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 11:57:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267538.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 May 2010 10:40:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassenstruktur Sockets on Wed, 26 May 2010 10:40:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte gern verschiedene Sockets zu Beginn installieren. Alle Sockets sollen in einem separaten Thread initialisiert werden (mit CAsyncSocket aus der MFC).</p>
<p>Klassenstruktur:<br />
class Socket : public CasyncSocket {};<br />
class HttpSoc : public Socket {};<br />
class SnmpSoc : public Socket {};<br />
etc.</p>
<p>Jede Klasse weist eine virtuelle Funktion InitInstance() auf, die alle spezifischen Sockets installieren soll.</p>
<pre><code class="language-cpp">m_sockThread = (Socket*)AfxBeginThread(RUNTIME_CLASS(Socket), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
</code></pre>
<p>Dadurch wird in der App.cpp der Socket-Thread gestartet; und die InitInstance() Funktion von der class Socket aufgerufen.</p>
<p>Wie kann ich innerhalb dieser class auf die virtuelle InitInstance() Funktion der verschiedenen abgeleiteten Klassen zugreifen?</p>
<pre><code class="language-cpp">BOOL Socket::InitInstance()
{

   if(!HttpSoc::InitInstance())
       return FALSE;
}
</code></pre>
<p>Anders herum von der abgeleiteten Klasse die Basisklasse bzw. deren Methoden aufzurufen funktioniert. Aber dann kann ich ja nicht alle Sockets in einer Funktion enablen...</p>
<p>Gruß<br />
Andi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902661</guid><dc:creator><![CDATA[Andi Speyer]]></dc:creator><pubDate>Wed, 26 May 2010 10:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenstruktur Sockets on Wed, 26 May 2010 12:50:39 GMT]]></title><description><![CDATA[<p>Möglicherweise hast du da einen Denkfehler drin. Es klingt nämlich sehr danach, als ob InitInstance static sein müsste. In diesem Fall kannst du es wie in deinem Beispiel machen.<br />
Wenn InitInstance aber non-static und virtual ist, dann wird ohnehin die richtige InitInstance-Funktion der Nachfahrklasse aufgerufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1902707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1902707</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 26 May 2010 12:50:39 GMT</pubDate></item></channel></rss>