<?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]]></title><description><![CDATA[<p>Ich hab da mal ne Frage:</p>
<pre><code class="language-cpp">class p1 {
p1(int a, double b);
}
</code></pre>
<pre><code class="language-cpp">class f1 : public p1 {
f1(int a, double b, double c);
}
</code></pre>
<p>p1 ist die Ursprungsklasse, bei der ich im Konstruktor a und b angeben muss.<br />
Jetzt erbe ich mir aus der Klasse f1 das zusätzlich im Konstruktor neben a und b noch c angegeben haben muss.<br />
Beim compilieren kommt die Fehlermeldung &quot;Kein geeigneter Standardkonstruktor gefunden.</p>
<p>Wie mach ich das, das ich a und b aus f1 auf a und b in p1 verweise?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217364/vererbung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 16:45:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217364.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Jul 2008 06:39:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 06:39:15 GMT]]></title><description><![CDATA[<p>Ich hab da mal ne Frage:</p>
<pre><code class="language-cpp">class p1 {
p1(int a, double b);
}
</code></pre>
<pre><code class="language-cpp">class f1 : public p1 {
f1(int a, double b, double c);
}
</code></pre>
<p>p1 ist die Ursprungsklasse, bei der ich im Konstruktor a und b angeben muss.<br />
Jetzt erbe ich mir aus der Klasse f1 das zusätzlich im Konstruktor neben a und b noch c angegeben haben muss.<br />
Beim compilieren kommt die Fehlermeldung &quot;Kein geeigneter Standardkonstruktor gefunden.</p>
<p>Wie mach ich das, das ich a und b aus f1 auf a und b in p1 verweise?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542263</guid><dc:creator><![CDATA[etsmart]]></dc:creator><pubDate>Mon, 07 Jul 2008 06:39:15 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 07:16:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class p1 { 
p1(int a, double b); 
}   
class f1 : public p1 { 
f1(int a, double b, double c); 
}
</code></pre>
<p>wenn deine klassen exakt so aussehen, dann sollte du mal paar c++ OOP bücher/tutorals durchgehen.</p>
<p>hier mal die lösung... ( ich denke das a und b aus P1 in F1 vererbrt werden sollen!?</p>
<pre><code class="language-cpp">class p1 { 
protected:
int m_a,m_b;
public:
p1(int a, double b) :m_a(a),m_b(b); 
};  

class f1 : public p1 { 
 int m_c;

f1(int a, double b, double c) , p1(a,b) , m_c(c){
}   

};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542275</guid><dc:creator><![CDATA[HumanCompiler]]></dc:creator><pubDate>Mon, 07 Jul 2008 07:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 07:18:25 GMT]]></title><description><![CDATA[<p>update:</p>
<pre><code class="language-cpp">class p1 { 
protected:
int m_a;
double m_b;

public:
p1(int a, double b) :m_a(a),m_b(b);{
}

};  

class f1 : public p1 { 
 double m_c;

public:
f1(int a, double b, double c) , p1(a,b) , m_c(c){
}   

};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542276</guid><dc:creator><![CDATA[HumanCompiler]]></dc:creator><pubDate>Mon, 07 Jul 2008 07:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 08:50:00 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-9713.html" rel="nofollow">estartu</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-1.html" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542324</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 07 Jul 2008 08:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 08:54:56 GMT]]></title><description><![CDATA[<p>etsmart schrieb:</p>
<blockquote>
<p>Beim compilieren kommt die Fehlermeldung &quot;Kein geeigneter Standardkonstruktor gefunden.</p>
<p>Wie mach ich das, das ich a und b aus f1 auf a und b in p1 verweise?</p>
</blockquote>
<p>Du rufst in der Initialisierungsliste von f1 den Konstruktor von p1 auf</p>
<pre><code class="language-cpp">class f1 : public p1 {
    f1(int a, double b, double c);
}

f1::f1(int a, double b, double c) : p1(a, b) //irgendwas noch mit c machen
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542328</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Mon, 07 Jul 2008 08:54:56 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 14:43:46 GMT]]></title><description><![CDATA[<p>Wenn die Basisklassenelemente unter protected stehen, brauchst den Konstruktor nicht in der Initialisierungsliste aufrufen, kannst doch direkt auf sie zugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542788</guid><dc:creator><![CDATA[Quellcode]]></dc:creator><pubDate>Mon, 07 Jul 2008 14:43:46 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 14:48:17 GMT]]></title><description><![CDATA[<p>Quellcode schrieb:</p>
<blockquote>
<p>Wenn die Basisklassenelemente unter protected stehen, brauchst den Konstruktor nicht in der Initialisierungsliste aufrufen, kannst doch direkt auf sie zugreifen.</p>
</blockquote>
<p>Von der Objektorientierung her ist ein Initialisieren im eigenen Konstruktor jedoch besser. Da ist auch die Gefahr für Design-Fehler kleiner.</p>
<p>Ausserdem ist ein Initialisieren in der Initialisierungsliste des Konstruktors einer nachträglichen Zuweisung vorzuziehen (z.B. bei <code>const</code> -Elementen oder Referenzen sogar die einzige Möglichkeit).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542799</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 07 Jul 2008 14:48:17 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Mon, 07 Jul 2008 14:52:15 GMT]]></title><description><![CDATA[<p>ja auf jeden fall ist die Methode des Benutzens von Konstruktoraufrufen vorzuziehen. hatte vergessen hinzu schreiben, dass es natürlich <strong>auch</strong> möglich ist es anders machen zu können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542807</guid><dc:creator><![CDATA[Quellcode]]></dc:creator><pubDate>Mon, 07 Jul 2008 14:52:15 GMT</pubDate></item></channel></rss>