<?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[Beginner - verständnissfrage zu klassen]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich habe eine kleine anwendung gebastelt ( einen pathfinder mit dem A* ).<br />
nun wollte ich den code einfach mal ein bissen aufräumen so wie sich das gehört<br />
und die klasen definition und deklaration trennen.</p>
<p>also hab ich eine pathfinder_class.h datei gemacht und diese in mein<br />
main.cpp script eingebunden ' #include &quot;pathfinder_class.h&quot; '.<br />
so das geht auch soweit, keine fehler ...<br />
aber wenn der compiler nun die dazugehörige pathfinder_class.cpp datei abarbeitet<br />
dann meckert er das er datentypen nicht kennt die aus den includs der main.cpp<br />
kommen. in der pathfinder_class.cpp sind z.b. members:</p>
<pre><code class="language-cpp">ifstream f;  // Datei-Handle
    string s;   // string mit zeileninhalt
</code></pre>
<p>was ist falsch ...<br />
muss ich '#include &lt;string&gt;' auch in jede classen *.cpp datei schreiben ?</p>
<p>vielen dank schonmal<br />
cu<br />
uwi2k2</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184793/beginner-verständnissfrage-zu-klassen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 23:56:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184793.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Jun 2007 11:07:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Beginner - verständnissfrage zu klassen on Tue, 19 Jun 2007 11:07:44 GMT]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich habe eine kleine anwendung gebastelt ( einen pathfinder mit dem A* ).<br />
nun wollte ich den code einfach mal ein bissen aufräumen so wie sich das gehört<br />
und die klasen definition und deklaration trennen.</p>
<p>also hab ich eine pathfinder_class.h datei gemacht und diese in mein<br />
main.cpp script eingebunden ' #include &quot;pathfinder_class.h&quot; '.<br />
so das geht auch soweit, keine fehler ...<br />
aber wenn der compiler nun die dazugehörige pathfinder_class.cpp datei abarbeitet<br />
dann meckert er das er datentypen nicht kennt die aus den includs der main.cpp<br />
kommen. in der pathfinder_class.cpp sind z.b. members:</p>
<pre><code class="language-cpp">ifstream f;  // Datei-Handle
    string s;   // string mit zeileninhalt
</code></pre>
<p>was ist falsch ...<br />
muss ich '#include &lt;string&gt;' auch in jede classen *.cpp datei schreiben ?</p>
<p>vielen dank schonmal<br />
cu<br />
uwi2k2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308993</guid><dc:creator><![CDATA[uwi2k2]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to Beginner - verständnissfrage zu klassen on Tue, 19 Jun 2007 11:13:19 GMT]]></title><description><![CDATA[<p>wenn eine klasse strings benutzt, dann sollte das #include &lt;string&gt; in den header der klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309001</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:13:19 GMT</pubDate></item><item><title><![CDATA[Reply to Beginner - verständnissfrage zu klassen on Tue, 19 Jun 2007 11:16:42 GMT]]></title><description><![CDATA[<p>Du musst den Header auch in die cpp Datei einbinden, falls du das nicht gemacht haben solltest.</p>
<p>string u.ä. Header kannst du ruhig auch nochmal in der cpp inkludieren, notwendig ist es aber nicht, wenn du sie schon in der .h hast. Ich inkludier sie allerdings trotzdem, einfach weil ich es logischer finde immer das, was ich in der entsprechenden Datei benutze, auch zu inkludieren.</p>
<p>Vergiss die Includeguardes im Header nicht!</p>
<pre><code class="language-cpp">#ifndef PATHFINDER_CLASS_H
#define PATHFINDER_CLASS_H

//dein Code

#endif  //PATHFINDER_CLASS_H
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1309005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309005</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to Beginner - verständnissfrage zu klassen on Tue, 19 Jun 2007 11:28:48 GMT]]></title><description><![CDATA[<p>hallo und danke erstmal,</p>
<p>es stimmt halt doch .. jemanden fragen der ahnung hat ist besser als 1000 bücher lesen <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>aber was sind/bedeuten diese 'Includeguardes' und in welcher datei setze ich sie<br />
wie ein ?</p>
<p>danke<br />
kai</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309021</guid><dc:creator><![CDATA[uwi2k2]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to Beginner - verständnissfrage zu klassen on Tue, 19 Jun 2007 12:40:35 GMT]]></title><description><![CDATA[<p>Die include Guards schuetzen vor Verletzungen der <a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=ODR#Answ" rel="nofollow">ODR</a>.</p>
<p>In jeder <a href="http://tutorial.schornboeck.net/uebersetzungseinheiten.htm" rel="nofollow">Uebersetzungseinheit</a> darf immer nur eine Definition von etwas stehen. Also nur einmal da definiert werden wie std::string aussieht. Die include guards stehen in den Header Dateien und schuetzen vor mehrmaligen inkludieren dieser datei in dieser uebersetzungseinheit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309113</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to Beginner - verständnissfrage zu klassen on Tue, 19 Jun 2007 12:55:31 GMT]]></title><description><![CDATA[<p>Und noch kurz an einem einfachen Beispiel:</p>
<pre><code class="language-cpp">//A.h
class A{};
</code></pre>
<pre><code class="language-cpp">//B.h, die Klasse B soll ein Objekt der Klasse A bekommen (z.B)
#include &quot;A.h&quot;
class B{
    A einAttribut;
};
</code></pre>
<pre><code class="language-cpp">//main.cpp, hier wollen wir nun Klasse A und Klasse B verwenden
#include &quot;A.h&quot;
#include &quot;B.h&quot; //BUMM

int main(){
    A a;
    B b;
}
</code></pre>
<p>Der Compiler ersetzt bei Include nämlich einfach den include durch den entsprechenden Code, mit andern Worten hier sieht die main.cpp am Ende so aus:</p>
<pre><code class="language-cpp">class A{};  //durch inkludieren von A.h
class A{};  //inkludieren von B.h
class B{
    A einAttribut;
};

int main(){
    A a;
    B b;
}
</code></pre>
<p>Und schon haben wir Klasse A 2x definiert was natürlich nicht geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309132</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:55:31 GMT</pubDate></item></channel></rss>