<?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[Gibt&#x27;s sowas wie virtuelle Variablen?]]></title><description><![CDATA[<p>Tach allerseits,</p>
<p>So sieht's bisher aus:</p>
<pre><code class="language-cpp">class BasisA
{
  void FunktionA();
};
class AbgeleitetA : public BasisA;

class BasisB
{
 BasisB(){};
 BasisA *var;
 void FunktionB(){var-&gt;FunktionA();};
};

class AbgeleitetB : public BasisB
{
 AbgeleitetA *var;
 AbgeleitetB(){var = new AbgeleitetA;};
};

int main()
{
 AbgeleitetB var;
 var.FunktionB();
 .
 .
 .
 return 0;
}
</code></pre>
<p>Wenn ich das jetzt ausführe, stürzt das Programm natürlich ab, da &quot;var&quot; in &quot;BasisB&quot; noch auf null zeigt.<br />
Was ich gern hätte, wäre eine virtuelle &quot;var&quot; in &quot;BasisB&quot;, damit in &quot;FunktionB()&quot; die &quot;var&quot; aus &quot;AbgeleitetB&quot; verwendet wird.<br />
Dummerweise gibts ja keine virtuellen Variablen.<br />
Hat einer evtl. ne Idee wie das trotzdem zu lösen ist?</p>
<p>merci im voraus <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/120131/gibt-s-sowas-wie-virtuelle-variablen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 05:44:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/120131.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Sep 2005 09:33:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gibt&#x27;s sowas wie virtuelle Variablen? on Fri, 09 Sep 2005 09:33:30 GMT]]></title><description><![CDATA[<p>Tach allerseits,</p>
<p>So sieht's bisher aus:</p>
<pre><code class="language-cpp">class BasisA
{
  void FunktionA();
};
class AbgeleitetA : public BasisA;

class BasisB
{
 BasisB(){};
 BasisA *var;
 void FunktionB(){var-&gt;FunktionA();};
};

class AbgeleitetB : public BasisB
{
 AbgeleitetA *var;
 AbgeleitetB(){var = new AbgeleitetA;};
};

int main()
{
 AbgeleitetB var;
 var.FunktionB();
 .
 .
 .
 return 0;
}
</code></pre>
<p>Wenn ich das jetzt ausführe, stürzt das Programm natürlich ab, da &quot;var&quot; in &quot;BasisB&quot; noch auf null zeigt.<br />
Was ich gern hätte, wäre eine virtuelle &quot;var&quot; in &quot;BasisB&quot;, damit in &quot;FunktionB()&quot; die &quot;var&quot; aus &quot;AbgeleitetB&quot; verwendet wird.<br />
Dummerweise gibts ja keine virtuellen Variablen.<br />
Hat einer evtl. ne Idee wie das trotzdem zu lösen ist?</p>
<p>merci im voraus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/868472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/868472</guid><dc:creator><![CDATA[moin]]></dc:creator><pubDate>Fri, 09 Sep 2005 09:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to Gibt&#x27;s sowas wie virtuelle Variablen? on Fri, 09 Sep 2005 11:17:15 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class BasisA
{
public:
	void FunktionA(){cout &lt;&lt; &quot;hallo&quot; &lt;&lt; endl;}
};
class AbgeleitetA : public BasisA{};

class BasisB
{
public:	
	BasisB(){}; 
	void FunktionB(){var-&gt;FunktionA();};
protected:
	BasisA *var;
};

class AbgeleitetB : public BasisB
{
public:
	AbgeleitetB(){var = new AbgeleitetA();};
};

int main()
{
	AbgeleitetB var;
	var.FunktionB();
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/868535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/868535</guid><dc:creator><![CDATA[virtuos]]></dc:creator><pubDate>Fri, 09 Sep 2005 11:17:15 GMT</pubDate></item><item><title><![CDATA[Reply to Gibt&#x27;s sowas wie virtuelle Variablen? on Fri, 09 Sep 2005 11:21:29 GMT]]></title><description><![CDATA[<p>Destruktor bitte nicht vergessen:</p>
<ul>
<li>bei BasisB var deleten</li>
<li>bei BasisA Destruktor virtuell machen</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/868544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/868544</guid><dc:creator><![CDATA[virtuos]]></dc:creator><pubDate>Fri, 09 Sep 2005 11:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to Gibt&#x27;s sowas wie virtuelle Variablen? on Fri, 09 Sep 2005 11:45:34 GMT]]></title><description><![CDATA[<p>Jetzt, wo ich's seh...<br />
Hab wohl eine Variable zuviel deklariert <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>Schönen Dank auch <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>
]]></description><link>https://www.c-plusplus.net/forum/post/868571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/868571</guid><dc:creator><![CDATA[moin]]></dc:creator><pubDate>Fri, 09 Sep 2005 11:45:34 GMT</pubDate></item></channel></rss>