<?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[Dürfen Variablen abgelitten werden?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Es existiert in etwa folgende Klassenhierarchie:</p>
<pre><code class="language-cpp">class A; // Vorwärtsdeklaration

// Klasse B

class B : public Foo_1
{
  friend class A;

protected:

  A * m_pA;
};

// Klasse A

class A : public Foo_2
{
  friend class My_B;

protected:
  B &amp; m_B;

public:

  A(B &amp; b);
};

// Klasse C

class C : public B
{
};
</code></pre>
<p>Ich möchte nun abgeleitete Klassen von A,B,C erstellen. Hierbei soll unter anderem die Membervariable aus Klasse B (A * m_pA;) überschrieben werden. Ich möchte C aber nicht von meiner eigenen Version von B ableiten lassen, da ich sonst sämtlichen Code kopieren müsste was überflüssig ist. Ich möchte hingegen nur in C die Membervariable aus B wie folgt überschreiben.</p>
<pre><code class="language-cpp">class My_A; // Vorwärtsdeklaration

// Klasse My_B

class My_B : public B
{
  friend class My_A;

protected:

  A * m_pA;
};

// Klasse My_A

class My_A : public A
{
  friend class B;

protected:
  B &amp; m_B;

public:

  A(B &amp; b);
};

// Klasse C

class My_C : public B
{
// Hier nur die Membervariable überschreiben
protected:

  My_A * m_pA;
};
</code></pre>
<p>Ist das so erlaubt?</p>
<p>P.S.: Ggf. brauche ich von Klasse B nichts ableiten, sondern nur A und C da ich evtl. die Methoden von B doch nicht ändern muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208969/dürfen-variablen-abgelitten-werden</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 04:06:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208969.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Mar 2008 11:00:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dürfen Variablen abgelitten werden? on Tue, 25 Mar 2008 11:00:25 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Es existiert in etwa folgende Klassenhierarchie:</p>
<pre><code class="language-cpp">class A; // Vorwärtsdeklaration

// Klasse B

class B : public Foo_1
{
  friend class A;

protected:

  A * m_pA;
};

// Klasse A

class A : public Foo_2
{
  friend class My_B;

protected:
  B &amp; m_B;

public:

  A(B &amp; b);
};

// Klasse C

class C : public B
{
};
</code></pre>
<p>Ich möchte nun abgeleitete Klassen von A,B,C erstellen. Hierbei soll unter anderem die Membervariable aus Klasse B (A * m_pA;) überschrieben werden. Ich möchte C aber nicht von meiner eigenen Version von B ableiten lassen, da ich sonst sämtlichen Code kopieren müsste was überflüssig ist. Ich möchte hingegen nur in C die Membervariable aus B wie folgt überschreiben.</p>
<pre><code class="language-cpp">class My_A; // Vorwärtsdeklaration

// Klasse My_B

class My_B : public B
{
  friend class My_A;

protected:

  A * m_pA;
};

// Klasse My_A

class My_A : public A
{
  friend class B;

protected:
  B &amp; m_B;

public:

  A(B &amp; b);
};

// Klasse C

class My_C : public B
{
// Hier nur die Membervariable überschreiben
protected:

  My_A * m_pA;
};
</code></pre>
<p>Ist das so erlaubt?</p>
<p>P.S.: Ggf. brauche ich von Klasse B nichts ableiten, sondern nur A und C da ich evtl. die Methoden von B doch nicht ändern muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1479955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479955</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Tue, 25 Mar 2008 11:00:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dürfen Variablen abgelitten werden? on Tue, 25 Mar 2008 11:07:20 GMT]]></title><description><![CDATA[<p>Das geht nicht. Ueberschreiben kannst du nur Methoden, aber keine Variablen. Aber warum gibst du der Variablen nicht einfach einen anderen Wert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1479962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479962</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Tue, 25 Mar 2008 11:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to Dürfen Variablen abgelitten werden? on Tue, 25 Mar 2008 11:23:02 GMT]]></title><description><![CDATA[<p>Blue-Tiger schrieb:</p>
<blockquote>
<p>Aber warum gibst du der Variablen nicht einfach einen anderen Wert?</p>
</blockquote>
<p>Ich kann der Variablen doch nicht einfach einen anderen Wert geben oder wie meinst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1479972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1479972</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Tue, 25 Mar 2008 11:23:02 GMT</pubDate></item></channel></rss>