<?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[Mehrfachverbung 2 verschiedene Werte für eine Member Variablen]]></title><description><![CDATA[<p>Hi, gehe gerade das Buch von Kurt Erlenkötter durch. Folgendes verwirrt mich ...<br />
Kopiere nur die Konstruktoren ... ein &quot;Könner&quot; wird das sicher schon verstehen ...</p>
<pre><code>// erbt von Rechteck und Kreis
Schablone::Schablone(char *n, float a, float b, float c)
				: Kreis(n,a) , Rechteck(&quot;LEER&quot;,b,c) {
}
</code></pre>
<pre><code>// erbt von flaeche 
Kreis::Kreis(char *n, float a) : Flaeche(n) {
	radius=a;
}
</code></pre>
<pre><code>// erbt von flaeche
Rechteck::Rechteck(char *n, float a, float b) 
					: Flaeche(n) {
	laenge=a;
	breite=b;

}
</code></pre>
<pre><code>// Oberste Klasse
Flaeche::Flaeche(char *n) {
	strncpy(farbe,n,10);
}
</code></pre>
<pre><code>void Flaeche::getFarbe() const {
	cout &lt;&lt; &quot;\n&quot; &lt;&lt; farbe;
}
</code></pre>
<pre><code>Schablone k_r(&quot;GRUEN&quot;,20,3,5);
	k_r.Kreis::getFarbe();
	k_r.Rechteck::getFarbe();
</code></pre>
<p>Consolenoutput:<br />
GRUEN<br />
LEER</p>
<p>Und das will nicht in meine Birne rein. Wir haben <strong>ein</strong> Objekt mit <strong>einer</strong> Variablen namens farbe. Wie kann diese verschiedene Werte besitzen ... *kopfweh*</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330588/mehrfachverbung-2-verschiedene-werte-für-eine-member-variablen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 02:32:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330588.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Jan 2015 16:29:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 16:29:41 GMT]]></title><description><![CDATA[<p>Hi, gehe gerade das Buch von Kurt Erlenkötter durch. Folgendes verwirrt mich ...<br />
Kopiere nur die Konstruktoren ... ein &quot;Könner&quot; wird das sicher schon verstehen ...</p>
<pre><code>// erbt von Rechteck und Kreis
Schablone::Schablone(char *n, float a, float b, float c)
				: Kreis(n,a) , Rechteck(&quot;LEER&quot;,b,c) {
}
</code></pre>
<pre><code>// erbt von flaeche 
Kreis::Kreis(char *n, float a) : Flaeche(n) {
	radius=a;
}
</code></pre>
<pre><code>// erbt von flaeche
Rechteck::Rechteck(char *n, float a, float b) 
					: Flaeche(n) {
	laenge=a;
	breite=b;

}
</code></pre>
<pre><code>// Oberste Klasse
Flaeche::Flaeche(char *n) {
	strncpy(farbe,n,10);
}
</code></pre>
<pre><code>void Flaeche::getFarbe() const {
	cout &lt;&lt; &quot;\n&quot; &lt;&lt; farbe;
}
</code></pre>
<pre><code>Schablone k_r(&quot;GRUEN&quot;,20,3,5);
	k_r.Kreis::getFarbe();
	k_r.Rechteck::getFarbe();
</code></pre>
<p>Consolenoutput:<br />
GRUEN<br />
LEER</p>
<p>Und das will nicht in meine Birne rein. Wir haben <strong>ein</strong> Objekt mit <strong>einer</strong> Variablen namens farbe. Wie kann diese verschiedene Werte besitzen ... *kopfweh*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438055</guid><dc:creator><![CDATA[Bullz]]></dc:creator><pubDate>Sat, 17 Jan 2015 16:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 16:47:06 GMT]]></title><description><![CDATA[<p>Bullz schrieb:</p>
<blockquote>
<p>... ein &quot;Könner&quot; wird das sicher schon verstehen ...</p>
</blockquote>
<p>Na klar. Wir haben auch sonst nichts zu tun als uns das fehlende zusammenzureimen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438059</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 17 Jan 2015 16:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 17:34:38 GMT]]></title><description><![CDATA[<p>Die Membervariable 'farbe' gibt es zweimal, weil sowohl Kreis als auch Rechteck von Flaeche erben:</p>
<pre><code>Schablone
 - Kreis
   - Flaeche
 - Rechteck
   - Flaeche
</code></pre>
<p>Wenn du in deinem Buch über den Begriff &quot;virtuelle Basisklasse&quot; stößt, dann wiederum kann man es so programmieren, daß Schablone von nur genau einer Flaeche erbt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438065</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sat, 17 Jan 2015 17:34:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 20:57:00 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Bullz schrieb:</p>
<blockquote>
<p>... ein &quot;Könner&quot; wird das sicher schon verstehen ...</p>
</blockquote>
<p>Na klar. Wir haben auch sonst nichts zu tun als uns das fehlende zusammenzureimen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>Sry ... wollte keinen Ärgern. Da ist kein Source code .. da geht es wirklich nur um die mehrfach Vererbung und die Probleme die daraus entstehen für mich...</p>
<p>Th69 schrieb:</p>
<blockquote>
<p>Die Membervariable 'farbe' gibt es zweimal, weil sowohl Kreis als auch Rechteck von Flaeche erben:</p>
<pre><code>Schablone
 - Kreis :leak: 
   - Flaeche
 - Rechteck
   - Flaeche
</code></pre>
<p>Wenn du in deinem Buch über den Begriff &quot;virtuelle Basisklasse&quot; stößt, dann wiederum kann man es so programmieren, daß Schablone von nur genau einer Flaeche erbt.</p>
</blockquote>
<p>ok ... jetzt hat es geklingelt ... ich dachte das es nur &quot; eine Member &quot; Variable gibt und alle Klassen teilen sich genau diese eine. Verändert eine Kindklasse diese dann ist sie für alle anderen auch geändert....</p>
<p>Aber anscheinend läuft es so ab das geerbte Member Variablen in einer Kindklasse wiederum ihre eigenen Speicherplatz haben und keine Reference auf die Elternklasse sind...</p>
<p>Das macht es aber ziemlich schwierig zu überschauen wenn man 3 Member Variablen die gleich heißen aber unterschiedliche Werte haben können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438119</guid><dc:creator><![CDATA[Bullz]]></dc:creator><pubDate>Sat, 17 Jan 2015 20:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 20:58:33 GMT]]></title><description><![CDATA[<p>Genau. Bei normaler, nicht-virtueller Vererbung sind die verschiedenen Basisklassen einer Klasse komplett getrennt voneinander. Sie teilen sich nichts.</p>
<p>Wobei der &quot;dreaded diamond&quot; (=&gt; Google) eher ein Fabelwesen als ein reales Ungeheuer ist. Zumindest ich habe keine Probleme damit, weil er mir noch nie untergekommen ist. Zumindest nicht in Fällen wo es eine Rolle gespielt hätte ob es eine oder zwei Instanzen der Grossvaterklasse gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438122</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 17 Jan 2015 20:58:33 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 21:04:59 GMT]]></title><description><![CDATA[<p>Bullz schrieb:</p>
<blockquote>
<pre><code>// erbt von Rechteck und Kreis
</code></pre>
</blockquote>
<p>Willste uns veralbern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438124</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 17 Jan 2015 21:04:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 21:08:31 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Bullz schrieb:</p>
<blockquote>
<pre><code>// erbt von Rechteck und Kreis
</code></pre>
</blockquote>
<p>Willste uns veralbern?</p>
</blockquote>
<p>ne</p>
<pre><code>class Schablone : public Kreis, public Rechteck
</code></pre>
<p>warum ? ... ist nicht das genau was ich oben geschrieben habe ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438125</guid><dc:creator><![CDATA[Bullz]]></dc:creator><pubDate>Sat, 17 Jan 2015 21:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 21:09:53 GMT]]></title><description><![CDATA[<p>Wurstbrot <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="😃"
    /><br />
(Oder war's ne Semmel?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438127</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 17 Jan 2015 21:09:53 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 21:21:03 GMT]]></title><description><![CDATA[<p>Bullz schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Bullz schrieb:</p>
<blockquote>
<pre><code>// erbt von Rechteck und Kreis
</code></pre>
</blockquote>
<p>Willste uns veralbern?</p>
</blockquote>
<p>ne</p>
<pre><code>class Schablone : public Kreis, public Rechteck
</code></pre>
<p>warum ? ... ist nicht das genau was ich oben geschrieben habe ?</p>
</blockquote>
<p>Doch.<br />
Aber was ist eine Schablone, die zugleichg Kreis als auch Rechteck ist? Kann ich mir nicht vorstellen. Haöte ich für einen Designfehler. Entsprechend erübrigt sich jede Antwort, wie man den Fehler nicht korrigiert und irgendwo Werte in Variablen schreibt.</p>
<p>&quot;Wurstbrot&quot; bezieht sich auf Bücher von Jürgen Wolf, wo zum Verdeutlichen der Vererbung alle Wustbrote Supermärkte sind.</p>
<p><a href="https://www.c-plusplus.net/forum/75672-full">https://www.c-plusplus.net/forum/75672-full</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438130</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 17 Jan 2015 21:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 21:55:57 GMT]]></title><description><![CDATA[<p>Wenn du es genau wissen willst ....</p>
<p>In dem vorrigen Beispiel ging es um einen Ring ... und die Berechnung des Flächeninhalts ...</p>
<p>Ring war Kind von Kreis ... und hatte einen weiteren kleinen Radius und der wurde von der Fläche abgezogen.</p>
<p>Und Schablone ist ein Rechteck das von der Kreisfläche abgezogen wird und dient nur dem Verständnis. Finds sehr komisch das der Herr in seinem Buch keine sprechenden Bezeichner verwendet ... ein n für den Radius ... macht es nicht leichter lesbar als Anfänger vor allen. Ich will aber nicht meckern. Ich habs gecheckt und weiter ..</p>
<p>edit: Der Diamant hat zugeschlagen ...</p>
<p>class A {};<br />
class B : public A {};<br />
class C : public A {};<br />
class D : public B, public C {}; so habs ich bei mir.</p>
<p>Wenn ich jetzt eine Instanz der Klasse A erstelle und eine member variable von ihr mit cout ausgeben lasse ...</p>
<p>Ambiguous base with multiple inheritance</p>
<p>Auf Stackoverflow steht man soll das zu lösen</p>
<p>class A {};<br />
class B : virtual public A {};<br />
class C : virtual public A {};<br />
class D : public B, public C {};</p>
<p>Dann hängt er sich auf....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438132</guid><dc:creator><![CDATA[Bullz]]></dc:creator><pubDate>Sat, 17 Jan 2015 21:55:57 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachverbung 2 verschiedene Werte für eine Member Variablen on Sat, 17 Jan 2015 22:59:11 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Bullz schrieb:</p>
<blockquote>
<p>... ein &quot;Könner&quot; wird das sicher schon verstehen ...</p>
</blockquote>
<p>Na klar. Wir haben auch sonst nichts zu tun als uns das fehlende zusammenzureimen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Wurstbrot <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>
</blockquote>
<p>genau deshalb wollt ich mir nicht weiter das hirn verbiegen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438146</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 17 Jan 2015 22:59:11 GMT</pubDate></item></channel></rss>