<?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[Frage zu vererbung]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe hier zu übungszwecken eine einfache mehrfachvererbung implementiert, leider liefert sie mir ein kryptische fehlermeldung:</p>
<p>Konstruktor Basisklasse:</p>
<pre><code class="language-cpp">Fahrzeug::Fahrzeug(int anzahl_sitzplaetze, int kW, std::string farbe) {

    this-&gt;anzahl_sitzplaetze = anzahl_sitzplaetze;
    this-&gt;kW = kW;
    this-&gt;farbe = farbe;
}
</code></pre>
<p>Konstruktor abgeleitete klasse:</p>
<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(anzahl_sitzplaetze, kW, farbe){

    this-&gt;rahmengroesse = rahmengroesse;

}
</code></pre>
<p>Main:</p>
<pre><code class="language-cpp">Fahrzeug einFahrzeug(5,100,&quot;Blau&quot;);

    cout &lt;&lt; einFahrzeug.anzahl_sitzplaetze &lt;&lt; endl;
    cout &lt;&lt; einFahrzeug.farbe &lt;&lt; endl;
    cout &lt;&lt; einFahrzeug.kW &lt;&lt; endl;

    Fahrrad venice(28);
</code></pre>
<p>Fehlermeldung:</p>
<pre><code class="language-cpp">5
Blau
100
terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_S_create
Aborted
</code></pre>
<p>Die konstruktoren habe ich in den headern auch ordnungsgemäß deklariert:</p>
<pre><code class="language-cpp">Fahrzeug(int, int, std::string);
</code></pre>
<p>und die Fahrrad.h</p>
<pre><code class="language-cpp">Fahrrad(int);
</code></pre>
<p>ich habe auch versucht den Konstruktor in der Header von Fahrrad.h nochmal zu deklarieren, brachte mir aber nur fehlermeldungen.</p>
<p>Was ist den da falsch?</p>
<p>danke &amp; lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273816/frage-zu-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 22:38:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273816.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Sep 2010 21:08:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:08:46 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe hier zu übungszwecken eine einfache mehrfachvererbung implementiert, leider liefert sie mir ein kryptische fehlermeldung:</p>
<p>Konstruktor Basisklasse:</p>
<pre><code class="language-cpp">Fahrzeug::Fahrzeug(int anzahl_sitzplaetze, int kW, std::string farbe) {

    this-&gt;anzahl_sitzplaetze = anzahl_sitzplaetze;
    this-&gt;kW = kW;
    this-&gt;farbe = farbe;
}
</code></pre>
<p>Konstruktor abgeleitete klasse:</p>
<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(anzahl_sitzplaetze, kW, farbe){

    this-&gt;rahmengroesse = rahmengroesse;

}
</code></pre>
<p>Main:</p>
<pre><code class="language-cpp">Fahrzeug einFahrzeug(5,100,&quot;Blau&quot;);

    cout &lt;&lt; einFahrzeug.anzahl_sitzplaetze &lt;&lt; endl;
    cout &lt;&lt; einFahrzeug.farbe &lt;&lt; endl;
    cout &lt;&lt; einFahrzeug.kW &lt;&lt; endl;

    Fahrrad venice(28);
</code></pre>
<p>Fehlermeldung:</p>
<pre><code class="language-cpp">5
Blau
100
terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_S_create
Aborted
</code></pre>
<p>Die konstruktoren habe ich in den headern auch ordnungsgemäß deklariert:</p>
<pre><code class="language-cpp">Fahrzeug(int, int, std::string);
</code></pre>
<p>und die Fahrrad.h</p>
<pre><code class="language-cpp">Fahrrad(int);
</code></pre>
<p>ich habe auch versucht den Konstruktor in der Header von Fahrrad.h nochmal zu deklarieren, brachte mir aber nur fehlermeldungen.</p>
<p>Was ist den da falsch?</p>
<p>danke &amp; lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952202</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:20:56 GMT]]></title><description><![CDATA[<p>Du versuchst irgendwo ein Objekt zu erstellen, desssen Größe größer ist als die maximale Größe dieses Typs.</p>
<p>Aber google kennst du schon? Und C++ Referenzen auch <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>
<p>Da findet man dann folgendes:<br />
<a href="http://www.cplusplus.com/reference/std/stdexcept/length_error/" rel="nofollow">http://www.cplusplus.com/reference/std/stdexcept/length_error/</a></p>
<p>Und wo holt dein Konstruktor für Fahrrad die Argumente für den Fahrzeug-Teil her?</p>
<p>Und ein allgemeiner Tipp, wieso nimmst du beim Konstruktor den Konstruktorrrumpf und nicht die Element-Initialisierungsliste? Das ist eigentlich üblich dass man diese nimmt;-)</p>
<p>Und nehme doch für die Parameter andere Namen als für die Datenelemente, dann kannste auch das this weglassen, denn das ist eigentlich unnötig.</p>
<p>Dass deine Member public sind, denk ich mal machst du nur zu Testzwecken.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952206</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:20:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:20:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(anzahl_sitzplaetze, kW, farbe){ 
    this-&gt;rahmengroesse = rahmengroesse; 
}
</code></pre>
<p>Was soll denn diese Initialisierungsliste bewirken?<br />
Also ich vermute mal, er versucht eine Kopie von den eigenen nicht initialisierten<br />
Daten zu erzeugen und fliegt beim std::string dann auf die Nase...<br />
Ist aber nur eine reine Vermutung.</p>
<p>Gruß,<br />
XSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952208</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:20:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:23:44 GMT]]></title><description><![CDATA[<p>Also eigentlich hab ich das so nachgemacht wie es in sämtlichen C++ klassen ableitungstutorials vorgemacht wird, selbst hab ich das nicht erfunden. Wenn ich das Objekt eben so anlege: Fahrrad venice(28) denke ich mal das er mehr parameter erwartet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952209</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:30:59 GMT]]></title><description><![CDATA[<p>In den Tutorials werden die Variablen aber vermutlich noch als Parameter an den<br />
Konstruktor übergeben, oder?</p>
<p>Die einzige Variable, die bei dir in Frage zu kommen scheint, ist die<br />
(noch uninitialisierte) membervariable der Basisklasse.<br />
Das führt (zwangsläufig) zum Crash, da die internen Strukturen des Objektes<br />
noch nicht erzeugt sind.</p>
<p>Außerdem würde ich aus</p>
<pre><code class="language-cpp">Fahrzeug::Fahrzeug(int anzahl_sitzplaetze, int kW, std::string farbe)
</code></pre>
<pre><code class="language-cpp">Fahrzeug::Fahrzeug(int anzahl_sitzplaetze, int kW, const std::string&amp; farbe)
</code></pre>
<p>machen.</p>
<p>Gruß,<br />
XSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952214</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:35:03 GMT]]></title><description><![CDATA[<p>Also du übergibst an den Konstruktor von Fahrrad ein einzelnes int Argument und übergibst dann in der Element-Initialisierungsliste an den Konstruktor der Basisklasse 3 weitere Argumente. Wo soll er die denn hernehmen, dass versteh ich grade nicht so wirklich?</p>
<p>Vielleicht probiert er die eigenen Elemente, die ja genauso heißen zu nehmen und zu initialisieren, da diese aber uninitialisiert sind, erhälst du ein undefiniertes Verhalten.</p>
<p>Ist aber nur ne reine Vermutung.</p>
<p>Probier mal die Namen der Argumente zu ändern, und schau was dann passiert...erhälst du dann vielleicht einen Compiler-Fehler?</p>
<p>Lg freeG</p>
<p>EDIT: Ha wir haben die gleiche Vermutung <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>
<p>@Threadersteller:<br />
Und gewöhn dir das echt mit der Element-Initialisierungsliste an und nehm andere Namen, nicht die gleichen, denn falls das wirklich der Fehler ist was wir vermuten, dann hätte dir dass diese Fehlersuche erspart, da der Compiler dir dann nen Fehler ausgespuckt hätte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952216</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:37:33 GMT]]></title><description><![CDATA[<p>ok, hab mal das draus gemacht:</p>
<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(anzahl_sitzplaetze, kW, farbe){

    this-&gt;rahmengroesse = rahmengroesse;
    this-&gt;anzahl_sitzplaetze = anzahl_sitzplaetze;
    this-&gt;kW = kW;
    this-&gt;farbe = farbe;

}
</code></pre>
<p>Also den ganzen müll auch initialisiert.<br />
leider wieder gleicher fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952217</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:43:56 GMT]]></title><description><![CDATA[<p>buzz_lightzyear schrieb:</p>
<blockquote>
<p>ok, hab mal das draus gemacht:</p>
<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(anzahl_sitzplaetze, kW, farbe){

    this-&gt;rahmengroesse = rahmengroesse;
    this-&gt;anzahl_sitzplaetze = anzahl_sitzplaetze;
    this-&gt;kW = kW;
    this-&gt;farbe = farbe;

}
</code></pre>
<p>Also den ganzen müll auch initialisiert.<br />
leider wieder gleicher fehler.</p>
</blockquote>
<p>Ok da hab ich mal ne Frage.....<br />
Wie oder mit was lernst du C++?</p>
<p>Hol dir am bestein ein anständiges C++ Grundlagenbuch.</p>
<p>Und ließt du dir eigentlich nicht durch was wir schreiben, du musst an deinen Fahrrad-Konstruktor ja erst mal Argumente übergeben und umgenannt hast du die Parameter zu dem auch nicht.... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Schau mal, dass was du jetzt in den Konstruktorrumpf eingefügt hast bewirkt erst mal gar nichts, da dein Fehler ja schon vorher auftritt. Genau diesen Schritt den du jetzt manuell in den Konstruktorrumpf eingefügt hast, geschieht doch schon im Rumpf von Fahrzeug-Konstruktor, wobei es auch dort in die Element-Initialisierungsliste gehört.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952219</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:42:29 GMT]]></title><description><![CDATA[<p>cool down... hab erst jetzt dein edit gesehen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952220</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:44:22 GMT]]></title><description><![CDATA[<p>buzz_lightzyear schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(anzahl_sitzplaetze, kW, farbe){
</code></pre>
<p>Also den ganzen müll auch initialisiert.<br />
leider wieder gleicher fehler.</p>
</blockquote>
<p>An dieser Stelle ist farbe ja auch noch uninitialisiert und wird dann kopiert.</p>
<p>Du brauchst konkrete Werte bzw. initialisierte Variablen:</p>
<pre><code class="language-cpp">Fahrrad::Fahrrad(int rahmengroesse) : Fahrzeug(1, 0, &quot;&quot;){
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1952221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952221</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:44:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:49:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Fahrzeug::Fahrzeug( int seats, int power, std::string color ):
     anzahl_sitzplaetze( seats), kw( power ), farbe( color )
{
}

Fahrrad::Fahrrad( int seats, int power, std::string color, int size ):
     Fahrzeug( seats, power, color ), rahmengroeße( size )
{
}

Fahrrad objekt( 5, 100, &quot;Red&quot;, 20 );
</code></pre>
<p>So müsste dass ungefährt aussehen.</p>
<p>Dein Code würde gar nicht funktionieren, da du die Argumente die du im Konstruktor von Fahrrad an Fahrzeug übergibst gar nicht vorhanden sind, sie sind bei dir nur durch Zufall da, da sie die gleichen Namen haben wie deine Datenelemente. So nun will er mit deine uninitialisierten Datenelementen eben genau diese initialisieren.<br />
Und genau das gibt wohl den Fehler.</p>
<p>Verstehst dus <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>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952222</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:49:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:49:53 GMT]]></title><description><![CDATA[<p>yeah:</p>
<p>neuer output:</p>
<p>134517465</p>
<p>-1218325724</p>
<p>gg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952223</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:49:53 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:50:59 GMT]]></title><description><![CDATA[<p>Post mal bitte deine beiden Klassen, sprich Header und Quelldatei und deien main.</p>
<p>Alles auf dem jetzigen Stand.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952224</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:55:21 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":-O"
      alt="😮"
    /> schon wieder ein post übersehen...</p>
<p>omg... was sind das bitte für sinnbefreite tutorials auf die ich da stosse? das hab ich ja komplett anders gemacht. ich probiers nochmal dann melde ich wieder.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952227</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 21:57:33 GMT]]></title><description><![CDATA[<p>fr33g schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Fahrzeug::Fahrzeug( int seats, int power, std::string color ):
     anzahl_sitzplaetze( seats), kw( power ), farbe( color )
{
}

// hm... ok, das Fahrzeug::Fahrzeug ist der konstruktor von der Klasse Fahrzeug... was ist dann das:

     anzahl_sitzplaetze( seats), kw( power ), farbe( color ) //????

Fahrrad::Fahrrad( int seats, int power, std::string color, int size ):
     Fahrzeug( seats, power, color ), rahmengroeße( size )
{
}

Fahrrad objekt( 5, 100, &quot;Red&quot;, 20 );
</code></pre>
<p>So müsste dass ungefährt aussehen.</p>
<p>Dein Code würde gar nicht funktionieren, da du die Argumente die du im Konstruktor von Fahrrad an Fahrzeug übergibst gar nicht vorhanden sind, sie sind bei dir nur durch Zufall da, da sie die gleichen Namen haben wie deine Datenelemente. So nun will er mit deine uninitialisierten Datenelementen eben genau diese initialisieren.<br />
Und genau das gibt wohl den Fehler.</p>
<p>Verstehst dus <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>
<p>Lg freeG</p>
</blockquote>
<p>also auf diese weise hab ich das noch nie gesehen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952228</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Mon, 13 Sep 2010 21:57:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 22:02:53 GMT]]></title><description><![CDATA[<p>buzz_lightzyear schrieb:</p>
<blockquote>
<p>fr33g schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Fahrzeug::Fahrzeug( int seats, int power, std::string color ):
     anzahl_sitzplaetze( seats), kw( power ), farbe( color )
{
}

// hm... ok, das Fahrzeug::Fahrzeug ist der konstruktor von der Klasse Fahrzeug... was ist dann das:

     anzahl_sitzplaetze( seats), kw( power ), farbe( color ) //????

Fahrrad::Fahrrad( int seats, int power, std::string color, int size ):
     Fahrzeug( seats, power, color ), rahmengroeße( size )
{
}

Fahrrad objekt( 5, 100, &quot;Red&quot;, 20 );
</code></pre>
<p>So müsste dass ungefährt aussehen.</p>
<p>Dein Code würde gar nicht funktionieren, da du die Argumente die du im Konstruktor von Fahrrad an Fahrzeug übergibst gar nicht vorhanden sind, sie sind bei dir nur durch Zufall da, da sie die gleichen Namen haben wie deine Datenelemente. So nun will er mit deine uninitialisierten Datenelementen eben genau diese initialisieren.<br />
Und genau das gibt wohl den Fehler.</p>
<p>Verstehst dus <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>
<p>Lg freeG</p>
</blockquote>
<p>also auf diese weise hab ich das noch nie gesehen!</p>
</blockquote>
<p>Ja die Elemente werden initialisiert. Das ganze nennt sich Elementinitialisierungsliste.<br />
Wenn du die Elemente erst im Konstruktorrumpf &quot;initialisierst&quot; initialisierst du sie gar nicht, dass ist dann nur eine Zuweisung, da dann bei string zum Beispiel der Standardkonstruktor ausgeführt wird, die int Elemente bleiben uninitialisiert.</p>
<p>Das ist aber nicht direkt das Problem bei dir sondern eben dass du deinem Fahrzeug keine Argumente für den Basisteil übergeben hast. Und wie gesagt das wär normal ein Compiler-Fehler, blos da du die Namen für die Argumente gleich mit den Namen der Datenelemente hat, setzt er als Argumente die unitialisierten Datenelemente ein und die sollen dann die Datenelemente initialisieren.</p>
<p>Genau so dumm und unlogisch wie sich der Satz anhört ist es auch <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="😉"
    /> <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>Also nochmal:</p>
<p>-Nutze die Element-Initialisierungsliste<br />
-Nehm für Parameter andere Namen als für Datenmember<br />
-Übergib dem Fahrrad Argumente, welche du dann auch dem Farhzeug gibst<br />
-Les ein anständiges C++ Grundlagenbuch wenn du dich wirklich mit C++ beschäftigen willst;)</p>
<p>Ansonsten:<br />
Post nochmal Headerdateien samt Quelldateien der Klassen und die main.</p>
<p>Ob ichs allerdings heut noch les weiß ich nicht, da ich gleich schlafen geh <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>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952229</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 22:02:53 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Mon, 13 Sep 2010 22:09:27 GMT]]></title><description><![CDATA[<p>Wenn du</p>
<pre><code class="language-cpp">std::string color
</code></pre>
<p>in beiden Konstruktoren durch</p>
<pre><code class="language-cpp">const std::string&amp; color
</code></pre>
<p>ersetzt, ist es (wie ich denke) eine saubere Lösung von fr33g.</p>
<p>Diese Änderung verhindert unnötige zusätzliche Kopien.</p>
<p>Ob du jetzt z.B. Sitze=1 implizierst (stimmt bei Tandem natürlich nicht) und<br />
deswegen nicht als Parameter übergibst, ist wohl Geschmacksache.</p>
<p>Natürlich kannst du auch mehrere Konstruktoren machen, damit du beide Optionen hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952233</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 13 Sep 2010 22:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Tue, 14 Sep 2010 04:33:50 GMT]]></title><description><![CDATA[<p>Ja da geb ich dir Recht, mach normal auch immer const std::string&amp;, aber hab da gestern abend au net mehr dran gedacht <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="😃"
    /> , war wohl zu müde:-P.</p>
<p>Aber mich würd jetzt mal interessieren ob er es hinbekommen hat oder nicht?</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952258</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Tue, 14 Sep 2010 04:33:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Tue, 14 Sep 2010 11:30:52 GMT]]></title><description><![CDATA[<p>Nein funktioniert nicht. Ich hab keine Ahnung was ihr da für eine Micky-Maus kacke reinpostet. Naja, die Qualität des Forums lasst halt auch nach.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952434</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Tue, 14 Sep 2010 11:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Tue, 14 Sep 2010 12:00:00 GMT]]></title><description><![CDATA[<p>buzz_lightzyear schrieb:</p>
<blockquote>
<p>Nein funktioniert nicht. Ich hab keine Ahnung was ihr da für eine Micky-Maus kacke reinpostet. Naja, die Qualität des Forums lasst halt auch nach.</p>
</blockquote>
<p>Ja, und zwar in erster Linie wegen Leuten wie dir. Was erwartest du, wenn du nicht einmal fähig bist, nach mehrfacher Aufforderung ein vollständiges Minimalbeispiel zu posten?</p>
<p>Wenn du schon keine Eigeninitiative mitbringst, sondern nur ohne zu denken Code kopierst, kannst du wenigstens so freundlich sein, dich nicht über die gutgemeinte Hilfe auszulassen. Selbst wenn dir die Antworten von fr33g und XSpille nicht passen, enthalten sie einige gute Ratschläge. Aber du scheinst sie ja nicht einmal richtig gelesen zu haben.</p>
<p>Sorry, aber sowas kannst du hier echt nicht bringen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952437</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 14 Sep 2010 12:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Tue, 14 Sep 2010 12:18:02 GMT]]></title><description><![CDATA[<p>naja, wenn du als gut gemeinte Hilfe diese MMK meinst, ist das anscheindend dein erster beitrag den du liest. Schade um die Zeit die ich damit verschwendet habe. Ich meine, ich gebe keine Antworten auf beträge bei denen ich mich selbst nicht auskenne. Und dann immer diese Halb-Antworten, die einen noch mehr in die irre führen... herrlich.</p>
<p>bL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952444</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Tue, 14 Sep 2010 12:18:02 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu vererbung on Tue, 14 Sep 2010 13:43:56 GMT]]></title><description><![CDATA[<p>buzz_lightzyear schrieb:</p>
<blockquote>
<p>naja, wenn du als gut gemeinte Hilfe diese MMK meinst, ist das anscheindend dein erster beitrag den du liest. Schade um die Zeit die ich damit verschwendet habe. Ich meine, ich gebe keine Antworten auf beträge bei denen ich mich selbst nicht auskenne. Und dann immer diese Halb-Antworten, die einen noch mehr in die irre führen... herrlich.</p>
<p>bL</p>
</blockquote>
<p>Hey sorry, aber ich weiß net was das soll was du hier machst.<br />
Überleg lieber mal wer hier gestern Abend Zeit für <strong>DICH</strong> geopfert hat?</p>
<p>Ohne ein richtigen Code, kann ich dir leider auch nicht helfen, mit den 2 oder 3 Zeilchen die du hier gepostet hat fällt mir, und scheinbar allen anderen auch, nur das ein was schon gesagt wurde. So wie dein Code war( das bisschen was du gepostet hast ) war es definitiv völlig falsch.</p>
<p>Also ich kanns dir nur nochmal anbieten dass du wenn du magst jetzt den Code postet. Sprich Header-Dateien der beiden Klassen sowie die dazugehörigen Source-Dateien und die main.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952488</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Tue, 14 Sep 2010 13:43:56 GMT</pubDate></item></channel></rss>