<?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[Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen?]]></title><description><![CDATA[<p>...Für viele sichr nur Routine aber da ich in C++ bisher nur kleine Standalone-Programme gebaut habe, war das bisher nicht notwendig.<br />
Ich wäre dankbar, wenn das jemand leicht verständlich erklären könnte...</p>
<p>Beispiel:<br />
Ich habe quasi eine Hauptdatei.</p>
<p>fmain.cpp</p>
<p>darin ist neben der main-Funktion eine Funktion namens int test(), die mir irgendwas ausrechnet und mir einen int-Wert zurückgibt. Diese möchte ich nun in allen anderen Dateien drum herum nutzen können.</p>
<p>z.B: f1.cpp, f2.cpp, f3.cpp...</p>
<p>Ich nehme mal an, dass das über Klassen laufen müsste, nur habe ich das bisher nicht so recht gerafft und würde das gerne mal etwas &quot;plastischer&quot; nachvollziehen können. Ich hoffe es kann jemand helfen. Danke im Voraus! <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/topic/165097/wie-kann-man-eine-funktion-innerhalb-eine-projektes-in-meherenen-dateien-nutzen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 05:43:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165097.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Nov 2006 13:55:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 13:55:41 GMT]]></title><description><![CDATA[<p>...Für viele sichr nur Routine aber da ich in C++ bisher nur kleine Standalone-Programme gebaut habe, war das bisher nicht notwendig.<br />
Ich wäre dankbar, wenn das jemand leicht verständlich erklären könnte...</p>
<p>Beispiel:<br />
Ich habe quasi eine Hauptdatei.</p>
<p>fmain.cpp</p>
<p>darin ist neben der main-Funktion eine Funktion namens int test(), die mir irgendwas ausrechnet und mir einen int-Wert zurückgibt. Diese möchte ich nun in allen anderen Dateien drum herum nutzen können.</p>
<p>z.B: f1.cpp, f2.cpp, f3.cpp...</p>
<p>Ich nehme mal an, dass das über Klassen laufen müsste, nur habe ich das bisher nicht so recht gerafft und würde das gerne mal etwas &quot;plastischer&quot; nachvollziehen können. Ich hoffe es kann jemand helfen. Danke im Voraus! <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/1175220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175220</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 15 Nov 2006 13:55:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 14:13:50 GMT]]></title><description><![CDATA[<p>Dein Headerfile z.B. myfunc.h</p>
<pre><code class="language-cpp">#ifndef __MY_TEST_H__
#define __MY_TEST_H__ 1

int test();

#endif
</code></pre>
<p>Die Implementierung der Funktionen (myfunc.cpp)</p>
<pre><code class="language-cpp">#include &quot;myfunc.h&quot;

int test()
{
   // Tu was...
   return 1;
}
</code></pre>
<p>Dein Hauptprogramm</p>
<pre><code class="language-cpp">#include &quot;myfunc.h&quot;

int main()
{
   int erg = test();
}
</code></pre>
<p>EDIT:<br />
Du solltest deine Funktion(en) in seperate Dateien auslagern.<br />
Dazu solltest du immer zwei Dateien anlegen. Ein Headerfile(.h) und ein Sourcefile(.cpp)</p>
<p>In der .h File stehen nur Deklarationen und in dem .cpp File stehen die Definitionen.<br />
Jetzt brauchst du nur noch</p>
<pre><code class="language-cpp">#include &quot;myfunc.h&quot;
</code></pre>
<p>überall dort zu verwenden, wo du deine Funktion(en) brauchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175227</guid><dc:creator><![CDATA[nucknuck]]></dc:creator><pubDate>Wed, 15 Nov 2006 14:13:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 16:23:03 GMT]]></title><description><![CDATA[<p>Ich kann also dann die Funktion quasi so wie sie in einer eigenständigen cpp drin wäre in der cpp-datei verwenden wo ich sie denn eben brauche. Sie muss nur in passenden h-Datei sein, so wie hier?:</p>
<pre><code class="language-cpp">#ifndef __MY_TEST_H__
#define __MY_TEST_H__ 1

int test();

#endif
</code></pre>
<p>... und dann noch einen Verweis in der cpp, in der sich die Funktion befindet, auf diese h-Datei machen...</p>
<pre><code class="language-cpp">#include &quot;myfunc.h&quot;

int test()
{
   // Tu was...
   return 1;
}
</code></pre>
<p>Wie ist das zu verstehen:</p>
<pre><code class="language-cpp">#ifndef __MY_TEST_H__
#define __MY_TEST_H__ 1
</code></pre>
<p>Woher weis ich was ich da hinschreiben muss?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175356</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 15 Nov 2006 16:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 16:31:43 GMT]]></title><description><![CDATA[<p>Such dir irgendwas aus, wichtig ist nur, dass der Name des Makros innerhalb deines Projekts (und am besten noch darüber hinaus) einmalig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175369</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Wed, 15 Nov 2006 16:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 18:11:31 GMT]]></title><description><![CDATA[<p>Danke, werd mal sehen ob's klappt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175419</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 15 Nov 2006 18:11:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 20:07:10 GMT]]></title><description><![CDATA[<p>das mit #ifdef ist so u verstehen, dass man ja nicht mehrmals in einem Projekt die gleichen Funktionsprototypen haben darf, aber wenn der im header eines anderen Moduls die #include anweisung des gleichen headers steht, dass es dann nicht zu Fehlern kommt. Dazu wird erst abgefragt, ob eine Variable nicht existiert (mit #ifndef), falls dies doch der Fall sein sollte, wird einfach der gesamte quellcode von #ifndef bis #ifdef ignoriert. Mit #define schafft man nun diese Variable, für gewöhnlich nimmt man den Namen des Header in Großbuchstaben mit _ davor und dahinter, du kannst aber auch alles andere nehmen. der initialisierungswert (hier 1) ist aber völlig egal, du kannst ihn auch weglassen, denn du fragst ja nur ab, ob eine variable zu einem bestimmten zeitpunkt bereits bekannt ist, nicht welchen wert sie hat. Gibst du keinen Wert an wird dieser Automatisch auf 0 gesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175488</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Wed, 15 Nov 2006 20:07:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Wed, 15 Nov 2006 21:52:55 GMT]]></title><description><![CDATA[<p>Das hat funktiniert. Habs auch mal mit Argumenten in der Funktion probiert... geht alles!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175561</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 15 Nov 2006 21:52:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Thu, 16 Nov 2006 07:31:36 GMT]]></title><description><![CDATA[<p>sehr schoen erklaert {=</p>
<p>ich benutz meistens nen eindeutigen namen</p>
<pre><code class="language-cpp">#ifndef __LOGGING_ACTIONS__
#define __LOGGING_ACTIONS__

class CLogging : ...
...

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1175651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175651</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 16 Nov 2006 07:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man eine Funktion innerhalb eine Projektes in meherenen Dateien nutzen? on Thu, 16 Nov 2006 09:54:18 GMT]]></title><description><![CDATA[<p>Mr Evil schrieb:</p>
<blockquote>
<p>sehr schoen erklaert {=</p>
<p>ich benutz meistens nen eindeutigen namen</p>
<pre><code class="language-cpp">#ifndef __LOGGING_ACTIONS__
#define __LOGGING_ACTIONS__

class CLogging : ...
...

#endif
</code></pre>
</blockquote>
<p>Also einen eindeutigen Namen (zumindest projektweit eindeutig) sollte man immer benutzen. Deine Namenskonvention hingegen besser nicht: Namen die zwei Unterstriche enthalten sowie Namen, die mit einem Unterstrich gefolgt von einem Großbuchstaben beginnen, sind für die Implementation reserviert und sollten deshalb vermieden werden.<br />
Aber sowas wie:</p>
<pre><code class="language-cpp">#ifndef LOGGING_ACTIONS_H_INCLUDED
#define LOGGING_ACTIONS_H_INCLUDED
</code></pre>
<p>tut's ja auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175747</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 16 Nov 2006 09:54:18 GMT</pubDate></item></channel></rss>