<?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[Warum Header auch in einer zugehörigen Implementationsdatei inkludieren???]]></title><description><![CDATA[<p>Lerne gerade C++ (nach Pascal u. Java) und setzte mich hier gerade mit der<br />
Programmstrukturierung auseinander.Kann es sein dass die Inkludierung des Headers in der zugehörigen Implementationsdatei nur der Typüberprüfung der Funktiondefinitionen dienlich ist , wenn nicht wenigstens irgend ein Typ oder was Anderes aus dem Header zur Implementierung herangzogen wird?<br />
Das Inkludieren des Headers in diesem Fall ist ja eh optional..oder?. Was ich vorallem nicht verstehe ist Folgendes: Habe einen Header nur mit Funtionsprototypen Nach meiner Annahme wäre dann eine Inkludierung in die implemetierende Datei selbst nur dazu gut , die dort definierten Funktionen,welche den gleichen Namen wie die Prototypen tragen auf eine identische Signatur zu überprüfen , um typsicherheit sicherzustellen. Wenn ich die Implementationsdatei aber compiliere meckert der Compiler nur wenn der Ergebnistyp von dem der Prototypdeklaration abweicht , aber nicht wenn die Parameter abweichen. Damit wird ja dann doch nicht komplett auf Typsicherheit überprüft,was hier so gut ist als würde dies gar nicht stattfinden ,also<br />
könnt ich den Header auch gleich draussen lassen....oder???Warum wird nicht die komplette Signatur auf Übereinstimmung überprüft??? compilerspezifisch???<br />
Lerne mit der Dev-C++-IDE und dem GNU-Compiler (g++ glaub ich).<br />
Vielleicht hab ich ja so manches falsch verstanden bisher, komm hier jedenfalls echt nicht weiter mit meiner Logik......... <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="😕"
    /><br />
Jedenfalls schon mal Danke für eure Hilfe und eure Zeit......</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242602/warum-header-auch-in-einer-zugehörigen-implementationsdatei-inkludieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 00:10:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242602.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Jun 2009 17:40:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum Header auch in einer zugehörigen Implementationsdatei inkludieren??? on Fri, 05 Jun 2009 17:45:30 GMT]]></title><description><![CDATA[<p>Lerne gerade C++ (nach Pascal u. Java) und setzte mich hier gerade mit der<br />
Programmstrukturierung auseinander.Kann es sein dass die Inkludierung des Headers in der zugehörigen Implementationsdatei nur der Typüberprüfung der Funktiondefinitionen dienlich ist , wenn nicht wenigstens irgend ein Typ oder was Anderes aus dem Header zur Implementierung herangzogen wird?<br />
Das Inkludieren des Headers in diesem Fall ist ja eh optional..oder?. Was ich vorallem nicht verstehe ist Folgendes: Habe einen Header nur mit Funtionsprototypen Nach meiner Annahme wäre dann eine Inkludierung in die implemetierende Datei selbst nur dazu gut , die dort definierten Funktionen,welche den gleichen Namen wie die Prototypen tragen auf eine identische Signatur zu überprüfen , um typsicherheit sicherzustellen. Wenn ich die Implementationsdatei aber compiliere meckert der Compiler nur wenn der Ergebnistyp von dem der Prototypdeklaration abweicht , aber nicht wenn die Parameter abweichen. Damit wird ja dann doch nicht komplett auf Typsicherheit überprüft,was hier so gut ist als würde dies gar nicht stattfinden ,also<br />
könnt ich den Header auch gleich draussen lassen....oder???Warum wird nicht die komplette Signatur auf Übereinstimmung überprüft??? compilerspezifisch???<br />
Lerne mit der Dev-C++-IDE und dem GNU-Compiler (g++ glaub ich).<br />
Vielleicht hab ich ja so manches falsch verstanden bisher, komm hier jedenfalls echt nicht weiter mit meiner Logik......... <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="😕"
    /><br />
Jedenfalls schon mal Danke für eure Hilfe und eure Zeit......</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721916</guid><dc:creator><![CDATA[JohnnyDoe]]></dc:creator><pubDate>Fri, 05 Jun 2009 17:45:30 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Header auch in einer zugehörigen Implementationsdatei inkludieren??? on Fri, 05 Jun 2009 17:45:02 GMT]]></title><description><![CDATA[<p>JohnnyDoe schrieb:</p>
<blockquote>
<p>Kann es sein dass die Inkludierung des Headers in der zugehörigen Implementationsdatei nur der Typüberprüfung der Funktiondefinitionen dienlich ist</p>
</blockquote>
<p>ja, du hast er erkannt.</p>
<blockquote>
<p>Warum wird nicht die komplette Signatur auf Übereinstimmung überprüft???</p>
</blockquote>
<p>int foo(int) und int foo(double) sind zwei verschieden zur parallelexistenz berechtigte funktionen.</p>
<p>in C++ mit klassen wird es nicht mehr reichen, den header nicht zu inkludieren, weil die klassendefinition im header stehen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721923</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 05 Jun 2009 17:45:02 GMT</pubDate></item></channel></rss>