<?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[Fehler beim kombilieren einer Klasse]]></title><description><![CDATA[<p>Hallo,<br />
ich habe meine ersten versuche richtig OOP zu programmieren hinter mir.<br />
Und ohh Wunder eine sehr lange Fehlermeldung. Dazu habe ich zwei Fragen wenn ich meine Klasse in einer anderem Datei speichern will ist dass dann eine .cpp oder eine .h Datei. Und was habe ich falsch gemacht, dass er in meine .h oder .cpp Datei in der meine Klasse und ihre Methoden steht keine Funktionen wie cout, cin ....... mehr kennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187466/fehler-beim-kombilieren-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 17:55:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187466.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jul 2007 19:48:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Thu, 19 Jul 2007 20:12:13 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe meine ersten versuche richtig OOP zu programmieren hinter mir.<br />
Und ohh Wunder eine sehr lange Fehlermeldung. Dazu habe ich zwei Fragen wenn ich meine Klasse in einer anderem Datei speichern will ist dass dann eine .cpp oder eine .h Datei. Und was habe ich falsch gemacht, dass er in meine .h oder .cpp Datei in der meine Klasse und ihre Methoden steht keine Funktionen wie cout, cin ....... mehr kennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328851</guid><dc:creator><![CDATA[shorty0802]]></dc:creator><pubDate>Thu, 19 Jul 2007 20:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Thu, 19 Jul 2007 20:14:38 GMT]]></title><description><![CDATA[<p>Du solltest an deinem Satzbau arbeiten!</p>
<p>In die headerdatei (.hpp / .hxx / .h) kommt die Deklaration der Klasse. Also alle Variable und die Prototypen der Funktionen, die du verwendest.</p>
<p>Ein Prototyp ist sowas wie</p>
<pre><code class="language-cpp">int work(float data);
</code></pre>
<p>also ohne die</p>
<pre><code class="language-cpp">{
   // Dein Code
}
</code></pre>
<p>Die funktionsdefinitionen</p>
<pre><code class="language-cpp">int CLASSNAME::work(float data)
{
   //Dein Code
}
</code></pre>
<p>kommt dann in die Sourcedate (.cpp / .cxx)</p>
<p>Damit der Compiler so sachen wie std::cout findet musst du das in _vor_ der Verwendung inkludieren.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
</code></pre>
<p>Das solltest du für cout &amp; co nicht in der Headerdatei tun müssen, sondern nur in den Sourcefiles.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328867</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Thu, 19 Jul 2007 20:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 03:47:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// HEADER DATEI (Struktur und aufbau und Funktionsbeschreibun der Klasse)

class Dummy{

 int m_i;

 Dummy(int i); 

 //Klassenvariable lesen
 int GetDaten();

 virtual ~Dummy();

};

//CPP Datei (Das eigentlich Fleisch der Klasse)

Dummy::Dummy(int i) : m_i(i){
// tue dies due das
}

Dummy::~Dummy(){

}

int Dummy::GetDaten(){
  return m_i;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1328943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328943</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 20 Jul 2007 03:47:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 06:22:46 GMT]]></title><description><![CDATA[<p>darthdespotism schrieb:</p>
<blockquote>
<p>In die headerdatei (.hpp / .hxx / .h) kommt die Deklaration der Klasse. Also alle Variable und die Prototypen der Funktionen, die du verwendest.</p>
</blockquote>
<p>die <strong>definition</strong> der klasse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>Ein Prototyp ist sowas wie</p>
<pre><code class="language-cpp">int work(float data);
</code></pre>
<p>also ohne die</p>
<pre><code class="language-cpp">{
   // Dein Code
}
</code></pre>
</blockquote>
<p>prototype heisst es in C, in c++ ists eine deklaration.</p>
<p>sorry für den pedantismus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328957</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 20 Jul 2007 06:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 06:45:14 GMT]]></title><description><![CDATA[<p>Um es genau zu nehmen ist ein Prototyp sowas</p>
<pre><code class="language-cpp">int work(float);
</code></pre>
<p>Sorry für den Pedantismus :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328967</guid><dc:creator><![CDATA[Blablub]]></dc:creator><pubDate>Fri, 20 Jul 2007 06:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 09:55:34 GMT]]></title><description><![CDATA[<p>Wo steht denn das der Parameter Name nicht im Prototyp auftauchen darf? (oder soll)<br />
Ich habe gelernt das man den weg lässt (weglassen kann) wenn der Sinn <strong>UNMISSVERSTÄNDLICH</strong> ist.<br />
Ansonsten schreibt man einen logischen Parameter Namen mit hinein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329104</guid><dc:creator><![CDATA[countword]]></dc:creator><pubDate>Fri, 20 Jul 2007 09:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 10:27:34 GMT]]></title><description><![CDATA[<p>Nope in der Decleration hat das ding nix zu suchen <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>
<pre><code class="language-cpp">class Dummy
{
    int m_i;

public:
    Dummy(int i);

public:
    void playAGame(const std::string&amp;);

public: 
    int getDaten() const { return m_i; }
};
</code></pre>
<pre><code class="language-cpp">Dummy::Dummy(int i) : m_i(i)
{}

void Dummy::playAGame(const std::string&amp; player)
{
    std::cout &lt;&lt; player &lt;&lt; std::endl;
}
</code></pre>
<p>... um mal die Klasse von BorisDieKlinge zu ergänzen bzw korrigieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329136</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 10:42:43 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Nope in der Decleration hat das ding nix zu suchen <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>
</blockquote>
<p>Falsch: In der Deklaration brauchst du den Parametern keinen Namen zu geben - aber es ist nicht verboten, welche anzugeben (auch wenn die nur zu Dokumentationszwecken genutzt werden können).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329150</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:42:43 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 10:58:18 GMT]]></title><description><![CDATA[<p>Um noch eins weiter zu gehen: Da man in der Regel gegen die Schnittstelle (sprich Header) und nicht die Implementierung programmieren sollte, macht es sogar viel Sinn im Header sinnvolle Benennungen mit anzugeben. Zumal man in manchen Fällen auch nur die Header zur Verfügung hat [z.B. dll's...].</p>
<p>Und wenn man dann noch Dokumentation aus gleichen Gründen im Header macht, kann es sogar für eine sinnvolle Referenz (z.B. für Doxygen &amp; Co) wichtig sein.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329160</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:58:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 11:01:52 GMT]]></title><description><![CDATA[<p>nichts ist schlimmer, als nen schlonz wie</p>
<pre><code class="language-cpp">int doHafTor(bool, bool, const char*, int, int, char);
</code></pre>
<p>in nem header zu finden und weit keine doku, die das ganze anständig aufklärt. lieber anständige, selbsterklärende, parameternamen verwenden, überall wo ne deklaration oder implementierung auftaucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329164</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 20 Jul 2007 11:01:52 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 15:08:08 GMT]]></title><description><![CDATA[<p>Also ich wollt des jetzt so machen:</p>
<pre><code>#include&lt;iostream&gt;
#include&lt;vertauscher.h&gt;

       class vertauscher{
         int vertauscher::vertauscher(){
             cout&lt;&lt;&quot;Ein Objekt wurde erschaffen&quot;&lt;&lt;endl;
         } ;   

    int vertauscher::einlesen()
    { 
code.....
    } ;

    int vertauscher::ausgabe()
    {
code..............

    };
  }
</code></pre>
<p>Das ist dann in der vertauscher.ccp Datei.<br />
Und des sollte dann die vertauscher.h datei werden:</p>
<pre><code>#include&lt;iostream&gt;

class vertauscher { 

    public:
int dievariabelndieichbrauche;
       int  vertauscher::vertauscher();   
       int vertauscher::einlesen();
       int vertauscher::ausgabe();  
};
</code></pre>
<p>Die Fehler sind jetz &quot;nur&quot; noch parse error in method specification befor &quot;void&quot;.</p>
<p>Syntax error before &quot;}&quot; token.</p>
<p>Cannot declare memberfunktion vertauscher::vertauscher::einlesen within vertauscher.</p>
<p>Cannot declare memberfunktion vertauscher::vertauscher::ausgabe within vertauscher.</p>
<p>Und dann is er noch confused by earlier errors,bailing out.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329369</guid><dc:creator><![CDATA[shorty0802]]></dc:creator><pubDate>Fri, 20 Jul 2007 15:08:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 15:12:18 GMT]]></title><description><![CDATA[<p>In der Klasse brauchst du nicht noch den Klassennamen vor die Funktionsnamen hängen. Außerdem kein Semikolon &quot;;&quot; nach den Funktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329372</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Fri, 20 Jul 2007 15:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim kombilieren einer Klasse on Fri, 20 Jul 2007 21:00:25 GMT]]></title><description><![CDATA[<p>Danke!!!<br />
Ich habe es dann doch noch hinbekommen:-)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329500</guid><dc:creator><![CDATA[shorty0802]]></dc:creator><pubDate>Fri, 20 Jul 2007 21:00:25 GMT</pubDate></item></channel></rss>