<?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[einfache Methode erzeugt Fehler]]></title><description><![CDATA[<p>Hallo, ich bin erst seit kurzem zu C++ getreten und lese mich zurzeit durch mehrere Tutorials.</p>
<p>Nun bin ich ins Kapitel OOP gekommen und versuche, einfache Klassen zu erstellen.</p>
<pre><code class="language-cpp">class Character    //Class.cpp
{
    public:
    void SetHP();
};

void Character::SetHP()
{
    cout &lt;&lt; &quot;Hallo&quot;;
}
</code></pre>
<p>Hier ergibt sich der Fehler.</p>
<pre><code>classes.cpp|34|multiple definition of `Character::SetHP()'|
</code></pre>
<p>Aber laut verschiedenen Tuts sollte der Code gehen.<br />
Interne Deklaration klappt:</p>
<pre><code class="language-cpp">class Character    //Class.cpp
{
    public:
    void SetHP()
    {
        cout &lt;&lt; &quot;Hallo&quot;;
    }
};
</code></pre>
<p>Was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240698/einfache-methode-erzeugt-fehler</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 20:53:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240698.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 May 2009 13:45:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 13:45:03 GMT]]></title><description><![CDATA[<p>Hallo, ich bin erst seit kurzem zu C++ getreten und lese mich zurzeit durch mehrere Tutorials.</p>
<p>Nun bin ich ins Kapitel OOP gekommen und versuche, einfache Klassen zu erstellen.</p>
<pre><code class="language-cpp">class Character    //Class.cpp
{
    public:
    void SetHP();
};

void Character::SetHP()
{
    cout &lt;&lt; &quot;Hallo&quot;;
}
</code></pre>
<p>Hier ergibt sich der Fehler.</p>
<pre><code>classes.cpp|34|multiple definition of `Character::SetHP()'|
</code></pre>
<p>Aber laut verschiedenen Tuts sollte der Code gehen.<br />
Interne Deklaration klappt:</p>
<pre><code class="language-cpp">class Character    //Class.cpp
{
    public:
    void SetHP()
    {
        cout &lt;&lt; &quot;Hallo&quot;;
    }
};
</code></pre>
<p>Was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708484</guid><dc:creator><![CDATA[Dbof]]></dc:creator><pubDate>Sun, 10 May 2009 13:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 13:52:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void Character::SetHP()
{
    cout &lt;&lt; &quot;Hallo&quot;;
}
</code></pre>
<p>musst du raus aus der headerdatei machen und in die Character.cpp datei tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708486</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 13:52:51 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 14:01:35 GMT]]></title><description><![CDATA[<p>Ja, jetzt funktioniert es! Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708487</guid><dc:creator><![CDATA[Dbof]]></dc:creator><pubDate>Sun, 10 May 2009 14:01:35 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 14:01:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Character    //Class.cpp
{
    public:
    void SetHP();
};
</code></pre>
<p>&quot;Class.cpp&quot; -&gt; vertippt?!<br />
Falls nicht, dann nimm dir das C++-Buch deiner Wahl und guck mal, wie man Header-Dateien nennt und wie die Source-Dateien...<br />
Und wenns gut ist, dein Buch, dann steht da auch noch, warum man das trennt - und es wäre auch noch beschrieben, wieso dein bsp. nich funktioniert hat...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708488</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 10 May 2009 14:01:52 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 14:15:53 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Und wenns gut ist, dein Buch, dann steht da auch noch, warum man das trennt</p>
</blockquote>
<p>oh, gute frage. ja, wenn das buch nicht offen zugibt, daß es nur ein relikt der c-compiler ist, die mit solchen tricks compilezeiten sparen sollten, sondern was von scoping faselt, kannste es der reinigenden kraft des feuers übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708495</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 14:15:53 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 14:24:43 GMT]]></title><description><![CDATA[<p>Der Kommentar war aus meinem Projekt, der hatte nichts mit dem Problem zu tun, war eine ganz andere Datei.<br />
Ich weiß schon, dass Headerdateien die Endung .h oder .hpp haben, wärend die Quelldateien .cpp, .cxx oder .cc haben. Mir war nur nicht klar, dass man Methoden nicht in die Headerdateien schreibt(es sei denn, intern in die Klassendefinition).</p>
<p>Hab da noch eine Frage dazu:</p>
<blockquote>
<p>musst du raus aus der headerdatei machen und in die Character.cpp datei tun.</p>
</blockquote>
<p>Kann ich die Methode in eine andere Quelldatei machen und von der Hauptdatei ( mit main() ) darauf zugreifen? Ich habe es erst so versucht:</p>
<p>classes.h<br />
main.cpp<br />
character.cpp</p>
<p>classes.h:</p>
<pre><code class="language-cpp">class Character
{
    public:
    void SetHP()
};
</code></pre>
<p>main.cpp:</p>
<pre><code class="language-cpp">#include &quot;character.cpp&quot;   // &lt;-- hier

Character Mark;

int main()
{
    Mark.SetHP();
    return 0;
}
</code></pre>
<p>character.cpp:</p>
<pre><code class="language-cpp">#include &quot;classes.h&quot;

void Character::SetHP()
{
    cout &lt;&lt; &quot;Hallo&quot;;
}
</code></pre>
<p>Klappt so nicht, ergibt gleichen Fehler wie vorher...kann ich trotzdem die ganzen Methoden in andere Dateien auslagern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708500</guid><dc:creator><![CDATA[Dbof]]></dc:creator><pubDate>Sun, 10 May 2009 14:24:43 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Sun, 10 May 2009 14:51:43 GMT]]></title><description><![CDATA[<p>[quote=&quot;Dbof&quot;]</p>
<pre><code class="language-cpp">#include &quot;classes.h&quot;   // &lt;-- hier

Character Mark;

int main()
{
    Mark.SetHP();
    return 0;
}
</code></pre>
<p>du sollst nur header-dateen inkludieren.<br />
daß mehrere cpp-dateien eine exe ergeben, ist sache des makefiles doer der IDE. das schreibst du nicht in c++ hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708515</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 14:51:43 GMT</pubDate></item><item><title><![CDATA[Reply to einfache Methode erzeugt Fehler on Mon, 11 May 2009 12:34:43 GMT]]></title><description><![CDATA[<blockquote>
<p>daß mehrere cpp-dateien eine exe ergeben, ist sache des makefiles doer der IDE. das schreibst du nicht in c++ hin.</p>
</blockquote>
<p>Ok, dankeschön!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708960</guid><dc:creator><![CDATA[Dbof]]></dc:creator><pubDate>Mon, 11 May 2009 12:34:43 GMT</pubDate></item></channel></rss>