<?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[Aufruf einer Funktion]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein kleines Problem.<br />
und zwar hab ich eine klasse die mehrere funktionen hat wie bspw. suchen.<br />
jetzt hab ich eine abgeleitete klasse und will die funktion von der Basisklasse aufrufen sodass genau das selbe ausgeführt wird wie in der Basisklasse.<br />
void TEST::einfügen(int x)<br />
{<br />
TEST *lp = this-&gt;TSET;<br />
lp-&gt;PosiReset();</p>
<p>bool eingefügt = false;</p>
<p>while ( eingefügt == false)<br />
{<br />
if ( x &lt; lp-&gt;KWert() )<br />
{<br />
lp-&gt;inL(x);<br />
lp-&gt;weiterL();<br />
}</p>
<p>if ( x &gt; lp-&gt;KWert() )<br />
{<br />
lp-&gt;inR(x);<br />
lp-&gt;weiterR();<br />
}</p>
<p>if ( lp-&gt;KWert() == x ) eingefügt = true;</p>
<p>}<br />
}</p>
<p>das wäre die funktion in der basisklasse. wie kann ich jetzt die funktion in der abgeleiteten klasse aufrufen?</p>
<p>danke schonmal im vorraus<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256179/aufruf-einer-funktion</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 07:27:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256179.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Dec 2009 11:03:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aufruf einer Funktion on Wed, 09 Dec 2009 11:03:00 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein kleines Problem.<br />
und zwar hab ich eine klasse die mehrere funktionen hat wie bspw. suchen.<br />
jetzt hab ich eine abgeleitete klasse und will die funktion von der Basisklasse aufrufen sodass genau das selbe ausgeführt wird wie in der Basisklasse.<br />
void TEST::einfügen(int x)<br />
{<br />
TEST *lp = this-&gt;TSET;<br />
lp-&gt;PosiReset();</p>
<p>bool eingefügt = false;</p>
<p>while ( eingefügt == false)<br />
{<br />
if ( x &lt; lp-&gt;KWert() )<br />
{<br />
lp-&gt;inL(x);<br />
lp-&gt;weiterL();<br />
}</p>
<p>if ( x &gt; lp-&gt;KWert() )<br />
{<br />
lp-&gt;inR(x);<br />
lp-&gt;weiterR();<br />
}</p>
<p>if ( lp-&gt;KWert() == x ) eingefügt = true;</p>
<p>}<br />
}</p>
<p>das wäre die funktion in der basisklasse. wie kann ich jetzt die funktion in der abgeleiteten klasse aufrufen?</p>
<p>danke schonmal im vorraus<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820002</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Wed, 09 Dec 2009 11:03:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Wed, 09 Dec 2009 11:24:41 GMT]]></title><description><![CDATA[<ol>
<li>
<p>Bitte benutz´ Code Tags, um deinen Quelltext zu formatieren. So ist er nicht leserlich und schreckt Leute ab, sich damit zu befassen.</p>
</li>
<li>
<p>Hä? Was genau willst du erreichen? Bitte beschreib´ dein Problem genau und erklär´ auch, was die einzelnen Variablen und deren Typ sind. Liege ich richtig, wenn ich vermute, dass du eine Liste aus polymorphen Objekten hast, die durch durchläufst und in Abhängigkeit des konkreten Typs bestimmte Methoden dieses Typs aufrufen möchtest?</p>
</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1820019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820019</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 09 Dec 2009 11:24:41 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Wed, 09 Dec 2009 14:22:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void TEST::einfügen(int x)
{
	TEST *lp = this-&gt;TSET;
	lp-&gt;PosiReset();

	bool eingefügt = false;

	while ( eingefügt == false)
	{
		if ( x &lt; lp-&gt;KWert() )
		{
			lp-&gt;inL(x);
			lp-&gt;weiterL();
		}

		if ( x &gt; lp-&gt;KWert() )
		{
			lp-&gt;inR(x);
			lp-&gt;weiterR();
		}

		if ( lp-&gt;KWert() == x ) eingefügt = true;

	}
}
</code></pre>
<p>sorry hab nich gewusst das der das alles nach links zieht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /></p>
<p>also ich übergeb ein integer feld an eine klasse mit verschiedenen funktionen. oben jetzt eine funktion die weitere werte hinzufügen soll. die funktion bezieht sich auf einen BinBaum.<br />
Jetzt hab ich eine Abgeleitete Klasse und zwar den AVL-Baum. Der soll genau die selben Funktionen können wie der BinBaum nur das ich immer auf die balance achten muss.<br />
Ich denke das es nicht notwendig ist die ganzen Funktionen nochmal zu schreiben sondern einfach in der Klasse AVL-Baum die funktion einfuegen vom BinBaum aufzurufen.<br />
Meine Frage ist jetzt wie ich die Funktion in der Klasse AVL-Baum aufrufen kann.</p>
<p>Hoffe konnte es halbwegs erklären wenn noch fragen sind einfach schreiben.</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820119</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Wed, 09 Dec 2009 14:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Wed, 09 Dec 2009 14:45:12 GMT]]></title><description><![CDATA[<p>Du musst den Namen der Basisklasse als scope operator dem Methodennamen voranstellen:</p>
<pre><code class="language-cpp">class Base
{
public:
   void func()
   {
      ...
   }
};

class Derived : public Base
{
public:
   void func()
   {
      // mach was
      ...

      // ruft func() der Klasse Base auf
      Base::func();
   }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1820136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820136</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 09 Dec 2009 14:45:12 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Wed, 09 Dec 2009 15:19:07 GMT]]></title><description><![CDATA[<p>super danke für die schnelle hilfe <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/1820158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820158</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Wed, 09 Dec 2009 15:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Fri, 11 Dec 2009 10:54:59 GMT]]></title><description><![CDATA[<p>Fehler 1 error C3867: &quot;BinLis::drucke&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;BinLis::drucke&quot;, um einen Zeiger auf den Member zu erstellen.</p>
<p>der fehler kommt dabei.<br />
ich habs jetzt quasi so gemacht:</p>
<pre><code class="language-cpp">class BinLis
{
public:
void drucke();
};

void BinLis::drucke()
{
//macht was
}

class BinBaum :public BinLis
{
public:
void drucke();
};

void BinBaum::drucke()
{
BinLis::drucke;
}
</code></pre>
<p>ist irgendwas falsch? bzw muss ich was verändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821122</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Fri, 11 Dec 2009 10:54:59 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Fri, 11 Dec 2009 10:56:17 GMT]]></title><description><![CDATA[<p>wenn ich &amp;BinLis::drucke; schreibe funktioniert das programm zwar aber er führ irgendwie nichts aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821123</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Fri, 11 Dec 2009 10:56:17 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Fri, 11 Dec 2009 11:02:36 GMT]]></title><description><![CDATA[<p>Beim Funktionsaufruf fehlen die runden Klammern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821125</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 11 Dec 2009 11:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Fri, 11 Dec 2009 16:21:07 GMT]]></title><description><![CDATA[<p>Halleluja schrieb:</p>
<blockquote>
<p>wenn ich &amp;BinLis::drucke; schreibe funktioniert das programm zwar aber er führ irgendwie nichts aus</p>
</blockquote>
<p>Mit dem &amp;-Operator holst du dir normalerweise eine Addresse. In diesem Falle die für die Funktion BinLis::drucke. (Ich sage normalerweise, weil der Operator überladen werden könnte, was aber oft nicht gemacht wird).</p>
<p>Um die Funktion aufzurufen, musst du, wie MFK bereits richtig gesagt hat die runden Klammern angeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821272</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 11 Dec 2009 16:21:07 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Sat, 12 Dec 2009 13:47:11 GMT]]></title><description><![CDATA[<p>ok das funktioniert mittlerweile danke euch <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>hab jetzt allerdings ein weiteres problem was die druckfunktion betrifft.<br />
<a href="http://img690.imageshack.us/i/bspbinbaum.jpg/" rel="nofollow">http://img690.imageshack.us/i/bspbinbaum.jpg/</a></p>
<p>hab mal nen kleinen baum aufgezeichnet und geschrieben inwiefern die ausgabe gehen soll. und zwar zuerst das niedrigste und aufsteigend.<br />
ich hab mir schon ewig viel gedanken gemacht kommt aber nicht drauf wie ich das lösen kann da der baum ja kein balance hat.</p>
<p>hier mal mein versuch wo es aber viele möglichkeiten gibt das er nicht funktioniert xD</p>
<pre><code class="language-cpp">int anz = 0;
	int banz = 0;
	if( Posi-&gt;lNext != NULL)
	{
		banz = banz+1;
		weiterL();
		if(Posi-&gt;lNext != NULL)
		{
			drucke();
		}
		else
		{
			cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;				
		}

	}

	if(Posi-&gt;rNext != NULL)
	{
		weiterR();
		if(Posi -&gt;lNext != NULL)
		{
			drucke();
		}
		else
		{
			cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;
			drucke();
		}
	}
	while(Posi-&gt;rNext != NULL)
	{
		for(int i=0; i&lt;banz; i++)
		{
			zurück();
			cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;
		}
	}
	for(int i=0; i&lt;=anz; i++)
		zurück();

	if(Posi-&gt;rNext != NULL)
	{
		weiterR();
		anz = anz+1;
		if(Posi-&gt;lNext != NULL)
		{
			drucke();
		}
		else
		{
			cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;
			drucke();
		}
	}
</code></pre>
<p>zur erklärung: mit weiterL(); kommt man ein element weiter nache links mit rechts das selbe nach rechts halt.<br />
Posi-&gt;Wert gibt den aktuellen int wert der position aus.<br />
mit zurück(); kommt man 1 element zurück.<br />
ich hab einfach das problem das wenn ich lauter abzweigungen habe ich mir merken will wieviele schritte ich gegangen bin damit ich auch zurück komme. eventuell geht das natürlich auch viel leichter <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="=/"
      alt="😕"
    /></p>
<p>ich brauch für den avl baum dann noch ne funktion die mir ein feld mit den werten von der inorder übergibt.</p>
<p>hoffe ihr könnt mir helfen <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="🙂"
    /><br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821550</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Sat, 12 Dec 2009 13:47:11 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Funktion on Sun, 13 Dec 2009 12:22:08 GMT]]></title><description><![CDATA[<p>ok das problem hat sich mittlerweile erledigt (hoffe ich zumindest)</p>
<p>hab jetzt aber wieder ein anderes problem ^^<br />
da der pointer am anfang nicht auf der wurzel liegt sondern am zuletzt eingefügten element muss ich den pointer erstmal zurücksetzten.</p>
<p>die funktion sieht mittlerweile so aus:</p>
<pre><code class="language-cpp">PosiReset();
BinEle* x = Posi;
int anz = 0;

cout &lt;&lt; KWert() &lt;&lt; &quot; &quot;;
if( Posi-&gt;lNext != NULL)
{
	weiterL();
	if(Posi-&gt;lNext != NULL)
	{
		drucke();
	}
	else
	{
		cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;				
	}

}
if(Posi-&gt;rNext != NULL)
{
	weiterR();
	anz = anz+1;
	if(Posi -&gt;lNext != NULL)
	{
		drucke();
	}
	else
	{
		cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;
			drucke();
	}
}

for(int i=0; i&lt;=anz; i++)
{
	zurück();
}
cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;
anz=0;
if(Posi-&gt;rNext != NULL)
{
	weiterR();
	anz = anz+1;
	if(Posi-&gt;lNext != NULL)
	{
		drucke();
	}
	else
	{
		cout &lt;&lt; Posi-&gt;Wert &lt;&lt; &quot; &quot;;
		drucke();
	}
}
</code></pre>
<p>jetzt darf ich aber beim rekursiven aufruf die<br />
PosiReset();<br />
BinEle* x = Posi;<br />
int anz = 0;</p>
<p>wie kann ich das denn machen?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821922</guid><dc:creator><![CDATA[Halleluja]]></dc:creator><pubDate>Sun, 13 Dec 2009 12:22:08 GMT</pubDate></item></channel></rss>