<?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 fügt man eine header Datei ein und was steht drin?]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem mit C++. Ich bin Anfänger und probiere schon zu lange rum und komme nicht weiter. Vielleicht kann mir jemand helfen.</p>
<p>Ich habe eine header Datei geschrieben mit einer Klasse &quot;Complex&quot; (für komplexe Zahlen). Die Datei heißt complex.h und ich füge sie mit #include &quot;complex.h&quot; in mein main.cpp ein. Aber es taucht dauernd eine Fehlermeldung auf. Was mache ich falsch?</p>
<pre><code class="language-cpp">class Complex
{
      private:
              double re, im;
      public:
             Complex(double a, double b) : re(a), im(b) { };
             Complex() { re = 1; im = 1; };
             double getRe() { return re; };
             double getIm() { return im; };
             void print();
             friend Complex addition(Complex &amp;a, Complex &amp;b);
};
</code></pre>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;complex.h&quot;

using namespace std;

Complex Complex::addition(Complex &amp;a, Complex &amp;b){
        Complex c((a.getRe()+b.getRe),(a.getIm()+b.getIm()));
        return c;
};

void Complex::print(){
     cout &lt;&lt; &quot; ( &quot; &lt;&lt; re &lt;&lt; &quot; , &quot; &lt;&lt; im  &lt;&lt; &quot; ) &quot; &lt;&lt; endl;
};

int main(int argc, char *argv[])
{

    Complex a(2,3),b, c = addition(a,b);

    c.print();

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Bin für jede Hilfe dankbar!<br />
Komme sonst gar nicht mehr weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235411/wie-fügt-man-eine-header-datei-ein-und-was-steht-drin</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 04:07:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235411.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Mar 2009 23:47:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Sun, 01 Mar 2009 23:47:31 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem mit C++. Ich bin Anfänger und probiere schon zu lange rum und komme nicht weiter. Vielleicht kann mir jemand helfen.</p>
<p>Ich habe eine header Datei geschrieben mit einer Klasse &quot;Complex&quot; (für komplexe Zahlen). Die Datei heißt complex.h und ich füge sie mit #include &quot;complex.h&quot; in mein main.cpp ein. Aber es taucht dauernd eine Fehlermeldung auf. Was mache ich falsch?</p>
<pre><code class="language-cpp">class Complex
{
      private:
              double re, im;
      public:
             Complex(double a, double b) : re(a), im(b) { };
             Complex() { re = 1; im = 1; };
             double getRe() { return re; };
             double getIm() { return im; };
             void print();
             friend Complex addition(Complex &amp;a, Complex &amp;b);
};
</code></pre>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;complex.h&quot;

using namespace std;

Complex Complex::addition(Complex &amp;a, Complex &amp;b){
        Complex c((a.getRe()+b.getRe),(a.getIm()+b.getIm()));
        return c;
};

void Complex::print(){
     cout &lt;&lt; &quot; ( &quot; &lt;&lt; re &lt;&lt; &quot; , &quot; &lt;&lt; im  &lt;&lt; &quot; ) &quot; &lt;&lt; endl;
};

int main(int argc, char *argv[])
{

    Complex a(2,3),b, c = addition(a,b);

    c.print();

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Bin für jede Hilfe dankbar!<br />
Komme sonst gar nicht mehr weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672581</guid><dc:creator><![CDATA[Neuling09-1]]></dc:creator><pubDate>Sun, 01 Mar 2009 23:47:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Sun, 01 Mar 2009 23:59:25 GMT]]></title><description><![CDATA[<p>Mehrere Wege fuehren nach Rom...</p>
<p>Hier die &quot;elegante&quot; Loesung:</p>
<p><strong>complex.h</strong></p>
<pre><code class="language-cpp">class Complex
{
      private:
              double re, im;
      public:
             Complex(double a, double b) : re(a), im(b) { };
             Complex() { re = 1; im = 1; };
             double getRe() { return re; };
             double getIm() { return im; };
             void print();
             friend Complex addition(Complex &amp;a, Complex &amp;b);
};
</code></pre>
<p><strong>complex.cpp</strong> <em>(einfach dem Projekt hinzufuegen und achten, dass sie kompiliert wird)</em></p>
<pre><code class="language-cpp">Complex Complex::addition(Complex &amp;a, Complex &amp;b){
        Complex c((a.getRe()+b.getRe),(a.getIm()+b.getIm()));
        return c;
};

void Complex::print(){
     cout &lt;&lt; &quot; ( &quot; &lt;&lt; re &lt;&lt; &quot; , &quot; &lt;&lt; im  &lt;&lt; &quot; ) &quot; &lt;&lt; endl;
};
</code></pre>
<p><strong>main.cpp</strong></p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;complex.h&quot;

using namespace std;

int main(int argc, char *argv[])
{

    Complex a(2,3),b, c = addition(a,b);

    c.print();

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Und dann noch eine &quot;schmutzige&quot; Loesung:</p>
<p><strong>complex.h</strong></p>
<pre><code class="language-cpp">class Complex
{
      private:
              double re, im;
      public:
             Complex(double a, double b) : re(a), im(b) { };
             Complex() { re = 1; im = 1; };
             double getRe() { return re; };
             double getIm() { return im; };
             void print();
             friend Complex addition(Complex &amp;a, Complex &amp;b);
};

inline Complex Complex::addition(Complex &amp;a, Complex &amp;b){
        Complex c((a.getRe()+b.getRe),(a.getIm()+b.getIm()));
        return c;
};

inline void Complex::print(){
     cout &lt;&lt; &quot; ( &quot; &lt;&lt; re &lt;&lt; &quot; , &quot; &lt;&lt; im  &lt;&lt; &quot; ) &quot; &lt;&lt; endl;
};
</code></pre>
<p><em>main.cpp wie oben</em></p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672583</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 23:59:25 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 00:01:01 GMT]]></title><description><![CDATA[<p>Oh man. Sorry das waren die Syntaxfehler.<br />
Aber wenn ich die Definitionen (ohne Syntaxfehler) in die complex.h Datei schreibe funktioniert es trotzdem nicht. Warum? Ich muss doch die Klassen auch woanders definieren können. Das Interface alleine macht doch wenig Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672584</guid><dc:creator><![CDATA[Neuling09-1]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:01:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 00:08:17 GMT]]></title><description><![CDATA[<p>Ich danke dir!! <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="🙂"
    /><br />
Habe es geändert und es funktioniert.</p>
<p>Warum überhaupt so kompliziert? - Komme ursprünglich aus Java und da ist alles ein bisschen einfacher...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672587</guid><dc:creator><![CDATA[Neuling09-1]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:08:17 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 00:09:28 GMT]]></title><description><![CDATA[<p>Neuling09-1 schrieb:</p>
<blockquote>
<p>Aber es taucht dauernd eine Fehlermeldung auf. Was mache ich falsch?</p>
</blockquote>
<p>Ganz einfach, du sagst uns nicht, wie die Fehlermeldung lautet <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>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672588</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:09:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 00:21:00 GMT]]></title><description><![CDATA[<p>Neuling09-1 schrieb:</p>
<blockquote>
<p>Ich danke dir!! <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="🙂"
    /><br />
Habe es geändert und es funktioniert.</p>
<p>Warum überhaupt so kompliziert? - Komme ursprünglich aus Java und da ist alles ein bisschen einfacher...</p>
</blockquote>
<p>Tja, das ist nunma der Haken bei C++ - die (teilweise unnoetige) Kompliziertheit... Alles Gute hat eben einen Haken, so is das Leben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672590</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 00:26:45 GMT]]></title><description><![CDATA[<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Tja, das ist nunma der Haken bei C++ - die (teilweise unnoetige) Kompliziertheit... Alles Gute hat eben einen Haken, so is das Leben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Was ist an Headern kompliziert? Ich empfinde die als einen enormen Vorteil gegenüber anderen Sprachen. Man kann dank den Headern schnell und einfach einen gewissen Überblick über die Klasse bekommen. In den Sprachen, wo die Deklaration und Definition nicht getrennt sind, hat man ohne IDE oder entsprechende Tools absolut keine Chance, irgendwie einen Überblick zu bekommen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672592</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 00:31:56 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Tja, das ist nunma der Haken bei C++ - die (teilweise unnoetige) Kompliziertheit... Alles Gute hat eben einen Haken, so is das Leben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Was ist an Headern kompliziert? Ich empfinde die als einen enormen Vorteil gegenüber anderen Sprachen. Man kann dank den Headern schnell und einfach einen gewissen Überblick über die Klasse bekommen. In den Sprachen, wo die Deklaration und Definition nicht getrennt sind, hat man ohne IDE oder entsprechende Tools absolut keine Chance, irgendwie einen Überblick zu bekommen.</p>
<p>Grüssli</p>
</blockquote>
<p>Zustimmung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Aber trotzdem ist es fuer Anfaenger gewoehungsbeduerftig, gerade wenn man aus einer anderen Sprache kommt wie der Threadersteller. Ich brauchte da auch eine Zeit lang...</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672593</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:31:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 07:01:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3758">@Neuling</a>, ein paar Anmerkungen:</p>
<ol>
<li>Grundsätzlich war der Aufbau so wie du ihn hattest halbwegs in Ordnung, die Fehler dürften tatsächlich nur Syntaxdetails gewesen sein. Allerdings ist der getrennte Aufbau wie Cartman ihn vorgeschlagen hat besser, du kannst damit z.B. die Complex.cpp mit verschiedenen main()-Funktionen zusammenlinken und musst die Methoden nicht in jeder main.cpp neu definieren.</li>
<li>da du nur auf öffentliche Methoden von Complex zugreifst braucht addition() kein friend der Klasse zu sein.</li>
<li>Den Default-Konstruktor kannst du auch mit einer Initialisierungsliste versehen statt der Initialisierung/Zuweisung im Konstruktor-rumpf. Außerdem würde ich statt (1,1) eher (0,0) nehmen, da das konsistent mit den Defaultinitialisierungen der Standard-typen ist.</li>
<li>Der nächste Schritt (kommt vermutlich demnächst beim Lernen) ist const-correctness: die Getter und die Printmethode verändern nichts am Objekt, daher kannst du sie als const deklarieren. Genauso die Parameter von addition(), die ja auch nicht verändert werden.</li>
<li>Der übernächste Schritt nennt sich Operatorüberladung, ein Feature das es in Java nicht gibt. Damit kannst du aus deiner print()-Methode und der addition() Operatoren machen. Dein main()-Programm sähe dann so aus:</li>
</ol>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;complex.h&quot;

using namespace std;

int main(int argc, char *argv[])
{

    Complex a(2,3),b, c = a + b; //operator+ benutzt statt addition()

    cout &lt;&lt; c &lt;&lt; endl; //operator&lt;&lt; statt c.print()

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Die entsprechenden Schritte kommen aber sicher beizeiten in deinem Buch/Tutorial. Viel Spaß beim weiteren Lernen!</p>
<p><em>Werbung in eigener Sache:</em> wenn du soweit bist: es gibt einen Artikel über Operatorüberladung im Magazin <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1672611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672611</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 02 Mar 2009 07:01:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 09:35:12 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Tja, das ist nunma der Haken bei C++ - die (teilweise unnoetige) Kompliziertheit... Alles Gute hat eben einen Haken, so is das Leben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Was ist an Headern kompliziert? Ich empfinde die als einen enormen Vorteil gegenüber anderen Sprachen. Man kann dank den Headern schnell und einfach einen gewissen Überblick über die Klasse bekommen. In den Sprachen, wo die Deklaration und Definition nicht getrennt sind, hat man ohne IDE oder entsprechende Tools absolut keine Chance, irgendwie einen Überblick zu bekommen.</p>
</blockquote>
<p>Ich schaue nur in die Headers, wenn es keine vernünftige API-Doku gibt. Das ist dann eher peinlich und das ist NICHT Sinn der Headers! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672685</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Mon, 02 Mar 2009 09:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 09:38:30 GMT]]></title><description><![CDATA[<p>Neuling09-1 schrieb:</p>
<blockquote>
<p>Ich danke dir!! <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="🙂"
    /><br />
Habe es geändert und es funktioniert.</p>
<p>Warum überhaupt so kompliziert? - Komme ursprünglich aus Java und da ist alles ein bisschen einfacher...</p>
</blockquote>
<p>Ja, aber dafür kann Java keine Value-Objekte! Oder kann ich in Java Objekte auf dem Stack anlegen? Nein, kann ich nicht!<br />
Der Compiler braucht aber die Headers, weil dort die Infos drin stehen, wie er die Value-Objekte erstellen kann.</p>
<p>Du braucht aber bei C++ keine Header, wenn du wie in Java ein referenziertes Objekt hast:</p>
<pre><code class="language-cpp">std::string *str; // kein Header nötig, da wie in Java das Objekt nur referenziert wird
std::string str; // Header nötig, da statisches Objekt auf dem Stack angelegt. Bei Java nicht möglich
</code></pre>
<p>Es hat also technische Gründe, warum man Header benötigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672691</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Mon, 02 Mar 2009 09:38:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 09:43:28 GMT]]></title><description><![CDATA[<p>Da sowieso gleich jemand angedackelt kommt. Korrigier ich das mal:</p>
<pre><code class="language-cpp">class string; // Forward declaration reicht für referenzed Objekte:
string *str; // kein Header nötig, da wie in Java das Objekt nur referenziert wird

string str; // Header nötig, da statisches Objekt auf dem Stack angelegt. Bei Java nicht möglich,
// forward declaration reicht nicht aus!
</code></pre>
<p>Ja, ich weiß das es bei std::string mit der forward-declaration wegen dem typedef nicht geht. Also stellt euch ein nicht-typedefed string vor. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1672697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672697</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Mon, 02 Mar 2009 09:43:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 13:34:47 GMT]]></title><description><![CDATA[<p>Bulli schrieb:</p>
<blockquote>
<p>Ich schaue nur in die Headers, wenn es keine vernünftige API-Doku gibt. Das ist dann eher peinlich und das ist NICHT Sinn der Headers! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
</blockquote>
<p>Und wieso gleich so wütend??? Darf man denn heutzutage nicht mal mehr eine Meinung haben, welche jemand anderes nicht hat? Zudem habe ich nicht gesagt, dass dies der Sinn der Header ist. Herje.</p>
<p>Ich bin auch glücklich über eine Dokumentation und ziehe diese einem Header auch vor. Aber gerade im eigenen Code oder in der Entwicklung des Codes, wo oft noch keine Dokumentation zu diesem Code vorhanden ist, ist es extrem praktisch einen Header zu haben. Es dient auch dem eigenen Überblick.</p>
<p>Wenn du im übrigen gerade so pingelig bist:</p>
<p>Bulli schrieb:</p>
<blockquote>
<p>... Du braucht aber bei C++ keine Header, wenn du wie in Java ein referenziertes Objekt hast ...</p>
</blockquote>
<p>Das ist auch nicht ganz richtig. Du brauchst keinen Header um die Referenz oder den Zeiger zu erstellen, da man technisch dazu die Grösse des Objektes nicht benötigt. Sobald man allerdings über die Referenz oder den Zeiger auf das Objekt zugreifen möchte, braucht man die genauen Informationen über das Objekt, also den Header.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672811</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 02 Mar 2009 13:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Mon, 02 Mar 2009 13:39:01 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Bulli schrieb:</p>
<blockquote>
<p>Ich schaue nur in die Headers, wenn es keine vernünftige API-Doku gibt. Das ist dann eher peinlich und das ist NICHT Sinn der Headers! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
</blockquote>
<p>Und wieso gleich so wütend??? Darf man denn heutzutage nicht mal mehr eine Meinung haben, welche jemand anderes nicht hat? Zudem habe ich nicht gesagt, dass dies der Sinn der Header ist. Herje.</p>
</blockquote>
<p>Der Smily war gegen die fehlenden Dokus gerichtet!!! Nicht gegen dich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672816</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Mon, 02 Mar 2009 13:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Tue, 03 Mar 2009 21:27:16 GMT]]></title><description><![CDATA[<p>Hat zwar nicht viel mit dem ursprünglichen Problem zu tun, aber in der Standardbibliothek gibt es bereits einen Header <code>&lt;complex&gt;</code> für komplexe Zahlen. Man sollte deshalb auch ein wenig vorsichtig mit Bezeichnern, Makros und Dateinamen sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673731</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 03 Mar 2009 21:27:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Thu, 05 Mar 2009 01:34:58 GMT]]></title><description><![CDATA[<p>Bulli schrieb:</p>
<blockquote>
<p>Der Smily war gegen die fehlenden Dokus gerichtet!!! Nicht gegen dich.</p>
</blockquote>
<p>Oh, sorry <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="🙂"
    /><br />
Dann versteh ich das Smily und stimme dieser Stimmung voll und ganz zu <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674430</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 05 Mar 2009 01:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Thu, 05 Mar 2009 08:16:43 GMT]]></title><description><![CDATA[<p>Bulli schrieb:</p>
<blockquote>
<p>Ich schaue nur in die Headers, wenn es keine vernünftige API-Doku gibt. Das ist dann eher peinlich und das ist NICHT Sinn der Headers! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
</blockquote>
<p>Also in 90% der Projekte an denen ich gearbeitet habe war die Dokumentation eher minimal - wenn überhaupt vorhanden. Und in der Regel war 90% der dann noch vorhandenen Sourcecodedokumentation die, die ich dem Projekt hinzugefügt habe.</p>
<p>Der Sinn eines Headers ist auch nicht die Dokumentation (es sei den man arbeitet mit Tools wie doxygen, dann vielleicht auch das), aber sie ist die Übersicht der öffentlichen Schnittstelle. Implementierungsdetails verleiten an dieser Stelle nur dazu, gegen die Implementierung zu Programmieren.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674464</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 05 Mar 2009 08:16:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Thu, 05 Mar 2009 08:23:13 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Also in 90% der Projekte an denen ich gearbeitet habe war die Dokumentation eher minimal - wenn überhaupt vorhanden.</p>
</blockquote>
<p>Oh, wie bekannt mir das vorkommt! Und zwar eher das &quot;wenn überhaupt vorhanden&quot;, weniger das &quot;minimal&quot;... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1674468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674468</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 05 Mar 2009 08:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to Wie fügt man eine header Datei ein und was steht drin? on Thu, 05 Mar 2009 08:37:54 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Oh, wie bekannt mir das vorkommt! Und zwar eher das &quot;wenn überhaupt vorhanden&quot;, weniger das &quot;minimal&quot;... <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>Interessant in der Hinsicht ist auch, das ich eher als langsamer Programmierer gelte, und dabei auch mit einem Projektleiter aneinander geraten bin. Ein halbes Jahr später, ich war bereits in einen anderen Projekt, bekam ich eine Gehaltserhöhung - mit den Hinweis das ich vor allem vom erstgenannten gelobt worden bin.</p>
<p>Was war passiert? Nach etwas Nachforschen: Nun der Projektleiter musste irgendwann das Projekt im ganzen übernehmen, und der einzige der Zeit für Dokumentation und zumindest maginaler Codepflege &quot;verschwendet&quot; hatte, war Ich.</p>
<p>Wie sich Meinungen zu der Geschwindigkeit doch ändern können...</p>
<p>cu André<br />
P.S: Auch wenn ich selbst eher viel Dokumentiere, ist mir persönlich die Trennung Header/Source ganz recht. Für einen Überblick finde ich den Header Ideal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674473</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 05 Mar 2009 08:37:54 GMT</pubDate></item></channel></rss>