<?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[virtuelle Funktionen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade virtuelle Funktionen zu verstehen..;-)</p>
<p>Ich habe einen Header:</p>
<p>------------------------------------------------<br />
#ifndef EXECUTE_H<br />
#define EXECUTE_H</p>
<p>#include &lt;iostream&gt;</p>
<p>class Execute<br />
{<br />
int Raeder;<br />
float Gewicht;<br />
public:</p>
<p>Execute();<br />
virtual ~Execute();<br />
virtual void Test(void);<br />
};</p>
<p>#endif</p>
<p>------------------------------------------------------------<br />
und den cxx Code:</p>
<p>------------------------------------------------------------<br />
#include &lt;iostream&gt;<br />
#include &quot;Execute.h&quot;<br />
#include &quot;Vehikel.h&quot;</p>
<p>int main()</p>
<p>{<br />
Execute *Test;</p>
<p>Test = new Execute;<br />
Test-&gt;Nachricht();<br />
delete Test;<br />
return 0;</p>
<p>};<br />
-------------------------------------------------------------<br />
Wenn ich kompiliere kriege ich:</p>
<p>Execute.o: In function <code>main': Execute.cxx:(.text+0x9a): undefined reference to</code>Execute::Execute()'<br />
collect2: ld gab 1 als Ende-Status zurück<br />
make: *** [Execute] Fehler 1</p>
<p>Ich vermute mal, dass das ein dummer Fehler ist, aber ich komme einfach nicht drauf.<br />
Ich hoffe, jemand kann mir weiterhelfen...</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218217/virtuelle-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 14:22:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218217.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Jul 2008 13:34:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to virtuelle Funktionen on Thu, 17 Jul 2008 13:34:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade virtuelle Funktionen zu verstehen..;-)</p>
<p>Ich habe einen Header:</p>
<p>------------------------------------------------<br />
#ifndef EXECUTE_H<br />
#define EXECUTE_H</p>
<p>#include &lt;iostream&gt;</p>
<p>class Execute<br />
{<br />
int Raeder;<br />
float Gewicht;<br />
public:</p>
<p>Execute();<br />
virtual ~Execute();<br />
virtual void Test(void);<br />
};</p>
<p>#endif</p>
<p>------------------------------------------------------------<br />
und den cxx Code:</p>
<p>------------------------------------------------------------<br />
#include &lt;iostream&gt;<br />
#include &quot;Execute.h&quot;<br />
#include &quot;Vehikel.h&quot;</p>
<p>int main()</p>
<p>{<br />
Execute *Test;</p>
<p>Test = new Execute;<br />
Test-&gt;Nachricht();<br />
delete Test;<br />
return 0;</p>
<p>};<br />
-------------------------------------------------------------<br />
Wenn ich kompiliere kriege ich:</p>
<p>Execute.o: In function <code>main': Execute.cxx:(.text+0x9a): undefined reference to</code>Execute::Execute()'<br />
collect2: ld gab 1 als Ende-Status zurück<br />
make: *** [Execute] Fehler 1</p>
<p>Ich vermute mal, dass das ein dummer Fehler ist, aber ich komme einfach nicht drauf.<br />
Ich hoffe, jemand kann mir weiterhelfen...</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1548844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548844</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Thu, 17 Jul 2008 13:34:44 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Thu, 17 Jul 2008 13:45:29 GMT]]></title><description><![CDATA[<p>Gibts denn auch Definitionen zu Deinen Deklarationen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1548853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548853</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 17 Jul 2008 13:45:29 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Thu, 17 Jul 2008 13:46:41 GMT]]></title><description><![CDATA[<p>Der Funktionskörper zum Konstruktor Execute(); fehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1548854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548854</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 17 Jul 2008 13:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Thu, 17 Jul 2008 16:36:46 GMT]]></title><description><![CDATA[<p>Hatte ich übersehen....</p>
<p>Super, danke!<br />
Gordon <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/1548966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548966</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Thu, 17 Jul 2008 16:36:46 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 08:31:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe, ich blamiere mich jetzt nicht völlig, aber ich habe ein weiteres Problem:</p>
<p>Ich habe eine Klasse geschrieben</p>
<p><a href="http://www.desy.de/~fischerg/C++Training/Hauptklasse" rel="nofollow">http://www.desy.de/~fischerg/C++Training/Hauptklasse</a></p>
<p>in der ich alles ausführen möchte. Ich habe hier header und cxx zusammengefasst.</p>
<p>In der Klasse &quot;Klasse1&quot;<br />
<a href="http://www.desy.de/~fischerg/C++Training/Klasse1" rel="nofollow">http://www.desy.de/~fischerg/C++Training/Klasse1</a></p>
<p>versuche ich nun etwas zu schreiben, was dann ausgeführt wird.<br />
Im Moment, wenn ich die Hauptklasse (Execute) ausführe, dann erscheint<br />
Test1<br />
Test2<br />
was ja schon mal schön ist.<br />
Aber ich hätte gerne, dass auch Test3 aus dem Vehikel.cxx Code genommen wird und das ist das Problem. Wie kann ich denn den Hauptcode ausführen? Ich hatte schon einige Sachen ausprobiert, die ich aber lieber nicht hingeschrieben habe...;-)<br />
Muss da noch ein extra Interface geschrieben werden oder geht es irgendwie &quot;einfacher&quot; auch wenn wahrscheinlich nicht wirklich schön....</p>
<p>Vielen Dank,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549210</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Fri, 18 Jul 2008 08:31:09 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:01:51 GMT]]></title><description><![CDATA[<p>Moment, d.h. du hast also 2 Mainmethoden gebastelt und es sollen trotzdem beide ausgeführt werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549226</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:01:51 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:08:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das ist ein Problem....;-(<br />
Eigentlich brauche ich nur eine Main Methode (im Hauptcode, oder?).<br />
Das Problem wie ich in Vehikel.cxx die Sachen aufrufen kann.<br />
Das verstehe ich nicht. Wenn ich &quot;int main&quot; nicht verwende, dann kommt &quot;undefined reference to &quot;main&quot; oder so ähnlich...<br />
Ich glaube, mir ist das Prinzip des Interfaces nicht ganz klar....;-(</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549233</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:08:58 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:11:26 GMT]]></title><description><![CDATA[<p>du möchtest die methoden von Vehikel in Execute ausführen? man kann IN klassen inx ausführen man kann nur funktionen vom Objekt oder von der Klasse aufrufen lassen(wenn sie statisch sind). Aber ich verstehe die Problematik nicht gant <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1549236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549236</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:13:33 GMT]]></title><description><![CDATA[<p>Ich glaube Dir ist das Prinzip eines Hauptprogramms nicht ganz klar...</p>
<p>Ein Programm darf immer nur eine main-Funktion haben. Pack doch 'cout &lt;&lt; &quot;Test3&quot;' vor return 0 in die eigentliche main-Funktion und lösch die andere.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549237</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:20:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>es ist ja richtig, dass ich Test3 auch in die eigentliche Main Funktion schreiben kann.<br />
Das Problem ist, dass ich &quot;verschiedene&quot; Analysen (mit viel Code) brauche, die ich nicht in den Hauptcode stecken möchte, da ich diesen nicht groß verändern will.<br />
Ich will eben gerade Test3 nicht im Hauptcode haben.....sondern als Funktion extra ausführen.</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549240</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:20:59 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:23:05 GMT]]></title><description><![CDATA[<p>Ja und was spricht dagegen es als einen eigene Funktion zu schreiben?</p>
<pre><code class="language-cpp">void ausgabe()
{
std::cout&lt;&lt;&quot;Test3 ? &quot;&lt;&lt;std::endl;
}
</code></pre>
<p>??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549241</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:23:05 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 09:57:41 GMT]]></title><description><![CDATA[<p>Und wo binde ich die Funktion ein?</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549260</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Fri, 18 Jul 2008 09:57:41 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 10:02:56 GMT]]></title><description><![CDATA[<p>du kannst dir eine .cpp schreiben in der du jegliche funktionen <strong>definierst</strong> und du schreibst dir dazu eine .h datei in der du die funktionen <strong>deklarierst</strong></p>
<p>beispiel</p>
<p>Function.h</p>
<pre><code class="language-cpp">#ifndef FUNCTION_H
#define FUNCTION_H

void ausgabe();

#endif FUNCTION_H
</code></pre>
<p>function.cpp</p>
<pre><code class="language-cpp">#include &quot;Function.h&quot;
#include&lt;iostream&gt;

void ausgabe()
{
std::cout&lt;&lt;&quot;hallo Test3&quot;&lt;&lt;std::endl;
}
</code></pre>
<p>so und nun bindest du die .h in dein hauptprogramm ein und kannst ganz normal durch nennung des Funktionsnamen auf die Funktion zugreifen.<br />
Ich denke du solltest das mit den Klassen erstmal lassen, ehe du die Aufteilung von Übersetzungseinheiten noch nicht verstanden hast, das ist nämlich sehr wichtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549264</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 18 Jul 2008 10:02:56 GMT</pubDate></item><item><title><![CDATA[Reply to virtuelle Funktionen on Fri, 18 Jul 2008 10:19:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Hilfe...;-)</p>
<p>Grüße,<br />
Gordon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549281</guid><dc:creator><![CDATA[grobian]]></dc:creator><pubDate>Fri, 18 Jul 2008 10:19:17 GMT</pubDate></item></channel></rss>