<?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[Vererbung will nicht wie ich :(]]></title><description><![CDATA[<p>Ich habe mir eine kleine ErrorKlasse geschrieben.</p>
<pre><code class="language-cpp">class HauptErrorKlasse {
protected:
	unsigned long Fehlernummer;
public:
	unsigned long GetErrorNumber(){return this-&gt;Fehlernummer;};
};

class GetLastErrorKlasse : public HauptErrorKlasse {
	GetLastErrorKlasse(){this-&gt;Fehlernummer=GetLastError();};
};
</code></pre>
<p>Versuche ich nun mit</p>
<pre><code class="language-cpp">throw GetLastErrorKlasse();
</code></pre>
<p>einen Fehler zu werfen, bemängelt der Compiler ich hätte keinen Zugriff auf die Variable Fehlernummer.</p>
<blockquote>
<p>error C2248: &quot;GetLastErrorKlasse::GetLastErrorKlasse&quot;: Kein Zugriff auf private Member, dessen Deklaration in der GetLastErrorKlasse-Klasse erfolgte.</p>
</blockquote>
<p>Wo liegt mein Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218390/vererbung-will-nicht-wie-ich</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 06:29:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218390.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Jul 2008 14:16:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung will nicht wie ich :( on Sun, 20 Jul 2008 14:28:57 GMT]]></title><description><![CDATA[<p>Ich habe mir eine kleine ErrorKlasse geschrieben.</p>
<pre><code class="language-cpp">class HauptErrorKlasse {
protected:
	unsigned long Fehlernummer;
public:
	unsigned long GetErrorNumber(){return this-&gt;Fehlernummer;};
};

class GetLastErrorKlasse : public HauptErrorKlasse {
	GetLastErrorKlasse(){this-&gt;Fehlernummer=GetLastError();};
};
</code></pre>
<p>Versuche ich nun mit</p>
<pre><code class="language-cpp">throw GetLastErrorKlasse();
</code></pre>
<p>einen Fehler zu werfen, bemängelt der Compiler ich hätte keinen Zugriff auf die Variable Fehlernummer.</p>
<blockquote>
<p>error C2248: &quot;GetLastErrorKlasse::GetLastErrorKlasse&quot;: Kein Zugriff auf private Member, dessen Deklaration in der GetLastErrorKlasse-Klasse erfolgte.</p>
</blockquote>
<p>Wo liegt mein Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550238</guid><dc:creator><![CDATA[nilox]]></dc:creator><pubDate>Sun, 20 Jul 2008 14:28:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung will nicht wie ich :( on Sun, 20 Jul 2008 14:42:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class GetLastErrorKlasse : public HauptErrorKlasse {
    GetLastErrorKlasse(){this-&gt;Fehlernummer=GetLastError();};
};
</code></pre>
<p>wenn du so was ordentlich schreiben würdest, würdest du es sehen:</p>
<pre><code class="language-cpp">class GetLastErrorKlasse : public HauptErrorKlasse
    {
        public: //!!
            GetLastErrorKlasse()
                {this-&gt;Fehlernummer=GetLastError();}
    };
</code></pre>
<p>mal davon abgesehen versteh ich nicht, warum du es so umständlich machst...<br />
was spricht denn gegen</p>
<p>(vor allem solltest du dich entweder für deutsch oder englisch entscheiden - finde ich zumindest ^^)</p>
<pre><code class="language-cpp">HauptErrorKlasse fehler_klasse;
const unsigned long fehler_nr (fehler_klasse.GetLastError ());
</code></pre>
<p>und</p>
<pre><code class="language-cpp">unsigned long GetErrorNumber() const /*!*/ {return this-&gt;Fehlernummer;};
</code></pre>
<p>bb</p>
<p>edit: außerdem versteh ich gar nicht so recht, was du damit anfangen willst &gt;&lt;</p>
<p>exceptions werden eigtl im Allgemeinen so &quot;gemacht&quot;:</p>
<pre><code class="language-cpp">#include &lt;exception&gt;

class Teigene_Exception : public std::exception
{
public:
Teigene_Exception (const char * const string = NULL) : std::exception (string) {};
};

//werfen:

throw Teigene_Exception (&quot;fehlermeldung - kannst du auch weglassen&quot;);

//fangen:

try
{
funktion ();
}
catch (Teigene_Exception i)
{
std::cout &lt;&lt; &quot;Teigene_Exception-Fehlermeldung: &quot; &lt;&lt; i.what () &lt;&lt; std::endl;
}
catch (...)
{
std::cout &lt;&lt; &quot;unbekannter fehler &gt;&lt;&quot; &lt;&lt; std::endl;
}
</code></pre>
<p>cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550249</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 20 Jul 2008 14:42:53 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung will nicht wie ich :( on Sun, 20 Jul 2008 14:47:19 GMT]]></title><description><![CDATA[<p>Dankeschön für deine Mühe</p>
<p>Mich für das komisch-komplexe Gerüst zu rechtfertigen würde warscheinlicher länger dauern, aber ich sehe einen Sinn darin und das zählt =).</p>
<p>Ich werd mich ab jetzt bemühen strikt bei Deutsch zu bleiben. Das war eigentlich zu Anfang einer meiner Grundsätze.</p>
<p>Danke für die Fehlerfindung. Ich hab wie du bereits sagtest unordentlich geschrieben und den Compiler-Error falsch interpretiert...</p>
<p>EDIT: mit der std::exception Klasse habe ich mich noch nicht auseinandergesetzt, aber anscheinend wird es Zeit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550260</guid><dc:creator><![CDATA[nilox]]></dc:creator><pubDate>Sun, 20 Jul 2008 14:47:19 GMT</pubDate></item></channel></rss>