<?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[Super- und Subtypenmechanismen]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>anhand einer Basisklasse möchte ich ein Interface auf eine Klasse definieren. Diese &quot;Basisklasse&quot; (AbstractByteReader) wird lediglich definiert (h-File)), aber nicht implementiert.</p>
<p>class AbstractByteReader...</p>
<p>davon Abgeleitete Klassen stellen Services über die Schnittstellen von Basisklasse bereicht</p>
<p>class FileByteReader: public AbstractByteReader...</p>
<p>Jetzt Konstruiere ich im Projekt ein Element dieser Klasse. Durch diesen Mechnismus möchte ich die Kapselung und eine einheitliche Schnittstelle erreichen.</p>
<p>AbstractByteReader * ding = new FileByteReader();</p>
<p>Der Borland Compiler 5.5 bringt mir diese Fehler:</p>
<p>Error: Unresolved external 'AbstractByteReader::AbstractByteReader()' eferenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\FILEBYTEREADER.OBJ<br />
Error: Unresolved external 'AbstractByteReader::readByte()' referenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\TEST.OBJ<br />
Error: Unresolved external 'AbstractByteReader::isValid()' referenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\TEST.OBJ<br />
Error: Unresolved external 'AbstractByteReader::closeStream()' referenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\TEST.OBJ</p>
<p>In wieweit sollte ich meinen Code umstellen, bzw. wie bekomme ich den Compiler dazu die spezialisierten Methoden des FileByteReader's zu verwenden statt die Methoden des AbstractByteReader's?</p>
<p>Viele Grüße - Swen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153223/super-und-subtypenmechanismen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 05:33:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153223.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Jul 2006 07:31:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Super- und Subtypenmechanismen on Fri, 14 Jul 2006 07:31:01 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>anhand einer Basisklasse möchte ich ein Interface auf eine Klasse definieren. Diese &quot;Basisklasse&quot; (AbstractByteReader) wird lediglich definiert (h-File)), aber nicht implementiert.</p>
<p>class AbstractByteReader...</p>
<p>davon Abgeleitete Klassen stellen Services über die Schnittstellen von Basisklasse bereicht</p>
<p>class FileByteReader: public AbstractByteReader...</p>
<p>Jetzt Konstruiere ich im Projekt ein Element dieser Klasse. Durch diesen Mechnismus möchte ich die Kapselung und eine einheitliche Schnittstelle erreichen.</p>
<p>AbstractByteReader * ding = new FileByteReader();</p>
<p>Der Borland Compiler 5.5 bringt mir diese Fehler:</p>
<p>Error: Unresolved external 'AbstractByteReader::AbstractByteReader()' eferenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\FILEBYTEREADER.OBJ<br />
Error: Unresolved external 'AbstractByteReader::readByte()' referenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\TEST.OBJ<br />
Error: Unresolved external 'AbstractByteReader::isValid()' referenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\TEST.OBJ<br />
Error: Unresolved external 'AbstractByteReader::closeStream()' referenced from M:\EIGENE DATEIEN\_KONVERTIERUNG\KONVERTER_CODE\TEST.OBJ</p>
<p>In wieweit sollte ich meinen Code umstellen, bzw. wie bekomme ich den Compiler dazu die spezialisierten Methoden des FileByteReader's zu verwenden statt die Methoden des AbstractByteReader's?</p>
<p>Viele Grüße - Swen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097497</guid><dc:creator><![CDATA[Swen]]></dc:creator><pubDate>Fri, 14 Jul 2006 07:31:01 GMT</pubDate></item><item><title><![CDATA[Reply to Super- und Subtypenmechanismen on Fri, 14 Jul 2006 07:35:00 GMT]]></title><description><![CDATA[<p>Solange Du die Methoden nicht als pure virtual markierst, <strong>musst</strong> Du eine Implementierung bereitstellen. Z.B. der Konstruktor der Basisklasse wird immer von dem der Subklasse aufgerufen, also brauchst Du hier auch immer eine Implementierung. Der Rest kann pure virtual sein.</p>
<pre><code class="language-cpp">virtual void readByte() = 0;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1097501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097501</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 14 Jul 2006 07:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to Super- und Subtypenmechanismen on Fri, 14 Jul 2006 07:56:12 GMT]]></title><description><![CDATA[<p>Ahhh, Super!</p>
<p>Verrücktes C - Jetzt funktioniert es!</p>
<p>schönes Wochenende - Swen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097507</guid><dc:creator><![CDATA[Swen]]></dc:creator><pubDate>Fri, 14 Jul 2006 07:56:12 GMT</pubDate></item><item><title><![CDATA[Reply to Super- und Subtypenmechanismen on Fri, 14 Jul 2006 07:58:25 GMT]]></title><description><![CDATA[<p>Swen schrieb:</p>
<blockquote>
<p>Verrücktes C</p>
</blockquote>
<p>C++</p>
<blockquote>
<p>Jetzt funktioniert es!</p>
</blockquote>
<p>Tja, kaum macht man's richtig... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097508</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 14 Jul 2006 07:58:25 GMT</pubDate></item></channel></rss>