<?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[Frage zu dieser Klausurbewertung]]></title><description><![CDATA[<p>Morgen zusammen,</p>
<p>ich weiß nicht, ob das hier so genau reinpasst, dennoch hätte ich gerne ein paar Antworten auf meine Klausurbewertung bekommen.<br />
Und zwar ging es in einer Aufgabe darum Header-und Sourcedateien entsprechend zu vervollständigen, also include-Anweisungen und Headerdateien in die richtigen Files einzutragen.<br />
Bei eben solch einer headerdatei habe ich eine andere mit inkludiert, so dass ich am Ende eine doppelt inkludiert hatte.<br />
Kompiliert hätte dieses Programm (auch laut Prof.), allerdings wurde mir dann erklärt, dass es Probleme geben würde bzw. ein größere Aufwand entstehen würde, falls man dieses Programm mal erweitern möchte, eben aufgrund der falschen Header-inkludierung. Nur habe ich soweit in die Zukunft gar nicht gedacht und habe geglaubt es würde reichen dieses Programm einfach lauffähig zu machen, wie im Aufgabentext vermerkt.</p>
<p>Deshalb ging mir dort der komplette Punkt verloren und so gewertet als würde nichts dort stehen oder es total falsch wäre.<br />
Und aufgrund meiner nunmal subjektiven Meinung würde ich gern von euch objektiv wissen, welche Bewertung ihr mir hierfür gegeben hättet, auch wenn es nix nützt, aber es kann ja auch nix schaden mal zu fragen.</p>
<p>hoffe die Frage passt hier rein und ich bekomme ein paar Antworten.</p>
<p>Ich danke schonmal!!!<br />
cu<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166432/frage-zu-dieser-klausurbewertung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 11:03:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166432.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Nov 2006 08:37:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 08:37:20 GMT]]></title><description><![CDATA[<p>Morgen zusammen,</p>
<p>ich weiß nicht, ob das hier so genau reinpasst, dennoch hätte ich gerne ein paar Antworten auf meine Klausurbewertung bekommen.<br />
Und zwar ging es in einer Aufgabe darum Header-und Sourcedateien entsprechend zu vervollständigen, also include-Anweisungen und Headerdateien in die richtigen Files einzutragen.<br />
Bei eben solch einer headerdatei habe ich eine andere mit inkludiert, so dass ich am Ende eine doppelt inkludiert hatte.<br />
Kompiliert hätte dieses Programm (auch laut Prof.), allerdings wurde mir dann erklärt, dass es Probleme geben würde bzw. ein größere Aufwand entstehen würde, falls man dieses Programm mal erweitern möchte, eben aufgrund der falschen Header-inkludierung. Nur habe ich soweit in die Zukunft gar nicht gedacht und habe geglaubt es würde reichen dieses Programm einfach lauffähig zu machen, wie im Aufgabentext vermerkt.</p>
<p>Deshalb ging mir dort der komplette Punkt verloren und so gewertet als würde nichts dort stehen oder es total falsch wäre.<br />
Und aufgrund meiner nunmal subjektiven Meinung würde ich gern von euch objektiv wissen, welche Bewertung ihr mir hierfür gegeben hättet, auch wenn es nix nützt, aber es kann ja auch nix schaden mal zu fragen.</p>
<p>hoffe die Frage passt hier rein und ich bekomme ein paar Antworten.</p>
<p>Ich danke schonmal!!!<br />
cu<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183584</guid><dc:creator><![CDATA[DanielPort]]></dc:creator><pubDate>Wed, 29 Nov 2006 08:37:20 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 08:46:42 GMT]]></title><description><![CDATA[<p>ja das ist immer ne blöde schen mit der Header Includiererei:) und ich ich weis wei das ist wie dein prof. schon sage, wenn man das programm erweitert.. kann es zu komplikationen gebe.. er hat da schon recht... es ist nunmal falsch header mehrmals einzubinden ,aber auch nicht immer überschaubar... und wenn der EINE Punkt nur aus dem einen grund weg ist dann ist das schon ok oder:) so ne klausr gibt ja insgesamt um die 90 punkte:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183597</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 29 Nov 2006 08:46:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 08:54:31 GMT]]></title><description><![CDATA[<p>Welche Komplikationen? Durch die Include-Guards wird verhindert das ein Header in einer Compile-Einheit mehrmals inkludiert wird. Ich kann, wenn ich will, 10x hintereinander &lt;string&gt; inkludieren, das stört heute nicht und auch in Zukunft nicht. Es kann in riesigen Projekten lediglich zu unnötigen Compile-Zeiten kommen, aber das muß sich dann wirklich summieren.</p>
<p>Für mich ist das nur ein Schönheitsfehler, aber es ist kein technischer Fehler. Soll der Prof halt ein Sternchen/Smily weniger am Seitenrand dran machen. <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="😉"
    /> Nen Punktabzug der ein &quot;Falsch&quot; gleichwertig ist, würde ich nicht sehen.</p>
<p>Zeig uns doch mal was falsch ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183600</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 29 Nov 2006 08:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 08:56:56 GMT]]></title><description><![CDATA[<p>Randfrage: Um was für einen Header ging es denn eigentlich, den du doppelt eingebunden hast?</p>
<p>Bei gut geschriebenen Headern dürfte es eigentlich keine Probleme geben, wenn sie mehrfach im Projekt verwendet werden. Schwierig wird es nur, wenn der Autor keine Include Guards gesetzt hat (dann beschwert sich der Compiler evt über mehrfache Definitionen) oder intelligenterweise seine Funktionen direkt im Header definiert hat (das wird dir der Linker um die Ohren hauen)<sup>*</sup>.</p>
<p>Was den Wartungsaufwand angeht: Einen Header solltest du überall dort einbinden, wo du ihn brauchst. Dann mußt du dich nicht darauf verlassen, daß jemand anderes das für dich erledigt.</p>
<p><sup>*</sup> Direkt im Header solltest du nur Templates und explizite inline-Funktionen definieren, weil der Compiler für die Template-Auflösung bzw. inline-Ersetzung den Quellcode der Funktion benötigt - aber in beiden Fällen wird das Ergebnis auch vom Linker geschluckt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183603</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 29 Nov 2006 08:56:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 09:23:21 GMT]]></title><description><![CDATA[<p>danke für die Antworten.</p>
<p>die Aufgabenstellung habe ich leider nicht.</p>
<p>Ihr könnt euch das so vorstellen - ich glaube das waren auch die Namen der Dateien:<br />
a.h, b.h., c.h., d.h</p>
<p>a.cpp, b.cpp, c.cpp, d.dpp, main.cpp</p>
<p>nachbilden kann ich die Aufgabe aus dem Kopf leider nicht. Jedenfalls mussten halt die (bzw. einige) headerdateien mit includes versehen werden und in die entspr. Sourcedateien noch eingetragen werden. Natürlich aufgrund der verwendeten Funktionen, Strukturen, Variablen.</p>
<p>Und anstatt b.h in b.cpp zu setzen, habe ich b.h in a.h gesetzt und a.h in b.cpp. Das andere kam mir zu einfach 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>
<p>ich hoffe, dass dies übersichtlich genug ist <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1183625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183625</guid><dc:creator><![CDATA[DanielPort]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:23:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 09:33:37 GMT]]></title><description><![CDATA[<p>DanielPort schrieb:</p>
<blockquote>
<p>Und anstatt b.h in b.cpp zu setzen, habe ich b.h in a.h gesetzt und a.h in b.cpp. Das andere kam mir zu einfach 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>
</blockquote>
<p>Ja, das könnte Probleme erzeugen. Du verlässt dich darauf, daß andere dir deinen Header mitliefern - und wenn der Autor von a.h/a.cpp irgendwann auf die Idee kommt, daß er die b.h nicht mehr braucht, hast du ein Problem.</p>
<p>(und wie gesagt, stellt es normalerweise kein Problem dar, wenn der Header doppelt eingebunden wird - Stichwort: Include Gurads)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183637</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:33:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 09:34:53 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>b.h in b.cpp zu setzen</p>
</blockquote>
<p>ist aber besser. So ist b immer als einzele Übersetzungseinheit zu kompilieren. Denn es kann sehr wohl sein, das in b.h notwendige Dekalrationen stehen, die b.cpp braucht. Beispiele sind Klassen, deren Deklaration in Header erfolgt, aber die Implementation in den cpp-Dateien. Hier würde ohne ein Include auf den eigenen Header ein Compilerfehler kommen.<br />
Dein Weg geht zwar grundsätzlich auch, aber zieht unnötigerweise die Headerdatei von a mit in die Abhängigkeit.</p>
<p>Ob das nun ein so schwerwiegender Fehler ist, darüber kann diskutiert werden.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183639</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 09:35:35 GMT]]></title><description><![CDATA[<p>Achso... naja, wenn du nur geraten hast, wird das sicherlich schief und somit falsch gegangen sein. Es ist schon wichtig, das mind. die Header inkludiert wird, die _benötigt_ wird. Das scheint ja in deiner Lösung nicht erfüllt worden zu sein? Ich habe dich zu erst so verstanden, das du _zusätzlich_ unnötige und mehrfach Header inkludiert hast. Aber meistens brauch a.cpp nunmal a.cpp. Wenn du gedacht hast &quot;Naja, das sieht zu einfach aus, ich mach jetzt einfach mal a.cpp braucht b.cpp&quot; dann ist das natürlich falsch! Und daraus schliesse ich, das du den Sinn der Header nicht verstanden hast. 6! Setzen! <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/1183640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183640</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:35:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 09:48:44 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Achso... naja, wenn du nur geraten hast, wird das sicherlich schief und somit falsch gegangen sein. Es ist schon wichtig, das mind. die Header inkludiert wird, die _benötigt_ wird. Das scheint ja in deiner Lösung nicht erfüllt worden zu sein? Ich habe dich zu erst so verstanden, das du _zusätzlich_ unnötige und mehrfach Header inkludiert hast. Aber meistens brauch a.cpp nunmal a.cpp. Wenn du gedacht hast &quot;Naja, das sieht zu einfach aus, ich mach jetzt einfach mal a.cpp braucht b.cpp&quot; dann ist das natürlich falsch! Und daraus schliesse ich, das du den Sinn der Header nicht verstanden hast. 6! Setzen! <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>Also die anderen header und source-dateien sind ja in Ordnung (habe ja auch a.h in a.cpp geschrieben). Geraten im eigentlichen Sinne hatte ich nicht, allerdings habe ich bei dieser doch kleinen Aufgabe nicht daran gedacht, dass mehrere Autoren damit arbeiten können sollten und dachte mir das es hierfür auch so funktioniert.</p>
<p>Also letztendlich, um das festzuhalten, muss b.cpp um seine b.h nutzen zu können auch a.h aufrufen und darin liegt der böse Fehler. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1183649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183649</guid><dc:creator><![CDATA[DanielPort]]></dc:creator><pubDate>Wed, 29 Nov 2006 09:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 17:34:31 GMT]]></title><description><![CDATA[<p>Warum zweifelt der arme Knecht an den Worten seines Profs?<br />
Vermutlich macht der das doch schon a bissele länger,oder?</p>
<p>Gruss Jerry <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1183972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1183972</guid><dc:creator><![CDATA[jerry]]></dc:creator><pubDate>Wed, 29 Nov 2006 17:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 18:32:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Im (Informatik-) Unterricht geht es aber nicht um das blinde Glauben, sondern um Wissen und Hintergrund. Und deshalb ist es schlecht, das Prof nicht plausibel erklären konnte, warum die Lösung schlecht ist. Das hat Daniel erst hier verstanden (nehm ich mal an).</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184009</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 29 Nov 2006 18:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 18:42:09 GMT]]></title><description><![CDATA[<p>Mittels Includeguards kann man einige Probleme beim wilden Includieren abfangen.</p>
<p>Nebst der Möglichkeit , das man um Fowärtsdeklarationen nicht herum kommt bzw. in der Praxis bei Korrekturen der Quellcodes der Azubis folgendes vorkommt:</p>
<p>a.h</p>
<pre><code class="language-cpp">#include &quot;b.h&quot;

class a
{
   b B;
};
</code></pre>
<p>b.h</p>
<pre><code class="language-cpp">#include &quot;a.h&quot;

class b
{
   erstelleausa(a &amp; A);
};
</code></pre>
<p>was sich nach Rrücksprache stehts durch unüberlegtes includieren ergab, gibt es noch viel interesanntere Aspekte:</p>
<p>Jede .cpp Datei, die einen Header includiert (auch indirekt!) muss neu übersetzt werden, wenn sich ein Header ändert. Wenn man also ein Projekt hat, das aus vielen großen Übersetzungseinheiten besteht , und jede ÜE jeden Header includiert, bringt die Problematik mit sich, das sehr sehr viel Aufwand getrieben wird.</p>
<p>Wird z.B. dann in z.h etwas geändert, was eigentlich nur z.cpp betreffen würde, wird durch die includierung in alle anderen Units eine neue Übersetzung nötig, auch wenn aus dem Header z.h nichts verwendet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184017</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Wed, 29 Nov 2006 18:42:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 19:33:31 GMT]]></title><description><![CDATA[<p>@ akari: du solltest nur richtig lesen, was er will: er wollte wissen, ob die Bewertung zutrifft; er fragt nicht, wie und warum es richtig funktioniert. Sorry, die Genauigkeit verlangt die Informatik schon, oder ? Jerry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184051</guid><dc:creator><![CDATA[jerry]]></dc:creator><pubDate>Wed, 29 Nov 2006 19:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu dieser Klausurbewertung on Wed, 29 Nov 2006 20:02:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Und ein Informatiker sollte auch mitdenken können, anstatt nur nach Schema F zu arbeiten.<br />
Es reicht eben nicht aus, ihm zu erklären das sein Prof grundsätzlich recht hat. Ein Informatiker/Wissenschaftler muß seine Aussagen auch begründen können, also gehört zu dieser Antwort auch die Begründung, <em>warum</em> man genau diese Antwort gibt.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184068</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 29 Nov 2006 20:02:04 GMT</pubDate></item></channel></rss>