<?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[Kein namespace using in Headern?]]></title><description><![CDATA[<p>Habe gerade in Bruce Eckels Thinking in C++ (2nd Edition Volume 1, Chapter 4)<br />
gelesen, dass man keine Using-Direktiven in Header-Files benutzen soll:</p>
<p>Bruce Eckel schrieb:</p>
<blockquote>
<p>In short: don’t put using directives in header files.</p>
</blockquote>
<p>Da frage ich mich aber etwas:<br />
So wie ich es gelernt habe, platziert man Klassen mit Definition in Header-Files:</p>
<pre><code class="language-cpp">// Lautsprecher.h
#ifndef LAUTSPRECHER_H
#define LAUTSPRECHER_H

class Lautsprecher
{
    private:
      int volume;

    public:
      Lautsprecher(int volume);
      void turn_off();
};

Lautsprecher::Lautsprecher(int volume)
{
    this-&gt;volume = volume;
}

void Lautsprecher::turn_off()
{
    volume = 0;
}

#endif
</code></pre>
<p>Aber wenn man keine Using-Direktiven in Headern benutzen soll (was ja durchaus seinen Sinn hat), wo soll man sie denn sonst benutzen? =O<br />
Ich meine, ansonsten hat man doch nur eine kleine &quot;Main-Datei&quot;, in der die main-Funktion ist, die - sofern man sich denn auch schön an OOP und seinen Code sauber hält - keine X-hundert Zeilen Code hat; in dieser könnte man dann die Using-Direktiven verwenden.</p>
<p>Oder sehe ich da etwas komplett falsch? <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="=/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/252680/kein-namespace-using-in-headern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 07:28:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252680.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Oct 2009 23:38:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kein namespace using in Headern? on Thu, 22 Oct 2009 23:38:51 GMT]]></title><description><![CDATA[<p>Habe gerade in Bruce Eckels Thinking in C++ (2nd Edition Volume 1, Chapter 4)<br />
gelesen, dass man keine Using-Direktiven in Header-Files benutzen soll:</p>
<p>Bruce Eckel schrieb:</p>
<blockquote>
<p>In short: don’t put using directives in header files.</p>
</blockquote>
<p>Da frage ich mich aber etwas:<br />
So wie ich es gelernt habe, platziert man Klassen mit Definition in Header-Files:</p>
<pre><code class="language-cpp">// Lautsprecher.h
#ifndef LAUTSPRECHER_H
#define LAUTSPRECHER_H

class Lautsprecher
{
    private:
      int volume;

    public:
      Lautsprecher(int volume);
      void turn_off();
};

Lautsprecher::Lautsprecher(int volume)
{
    this-&gt;volume = volume;
}

void Lautsprecher::turn_off()
{
    volume = 0;
}

#endif
</code></pre>
<p>Aber wenn man keine Using-Direktiven in Headern benutzen soll (was ja durchaus seinen Sinn hat), wo soll man sie denn sonst benutzen? =O<br />
Ich meine, ansonsten hat man doch nur eine kleine &quot;Main-Datei&quot;, in der die main-Funktion ist, die - sofern man sich denn auch schön an OOP und seinen Code sauber hält - keine X-hundert Zeilen Code hat; in dieser könnte man dann die Using-Direktiven verwenden.</p>
<p>Oder sehe ich da etwas komplett falsch? <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="=/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1796789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1796789</guid><dc:creator><![CDATA[C-reator]]></dc:creator><pubDate>Thu, 22 Oct 2009 23:38:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kein namespace using in Headern? on Thu, 22 Oct 2009 23:41:15 GMT]]></title><description><![CDATA[<p>Die Definition der Klasse sollte eigentlich in eine .cpp-Datei. Dort kannst du dann 'using ...' verwenden.<br />
In der .h-Datei sollte nur die Klassendeklaration stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1796790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1796790</guid><dc:creator><![CDATA[TuttiFrutti]]></dc:creator><pubDate>Thu, 22 Oct 2009 23:41:15 GMT</pubDate></item><item><title><![CDATA[Reply to Kein namespace using in Headern? on Thu, 22 Oct 2009 23:55:50 GMT]]></title><description><![CDATA[<p>TuttiFrutti schrieb:</p>
<blockquote>
<p>Die Definition der Klasse sollte eigentlich in eine .cpp-Datei. Dort kannst du dann 'using ...' verwenden.<br />
In der .h-Datei sollte nur die Klassendeklaration stehen.</p>
</blockquote>
<p>Danke <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="🙂"
    /> ... ich bin so ein Nappel. Hab mir gedacht, bevor du weiterliest, klärst du erst mal deine Frage - toll, im nächstens Absatz stand dann</p>
<blockquote>
<p>You’ll usually put the declaration for each type or group of associated types in a separate header file, then define the functions for that type in a translation unit.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1796792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1796792</guid><dc:creator><![CDATA[C-reator]]></dc:creator><pubDate>Thu, 22 Oct 2009 23:55:50 GMT</pubDate></item></channel></rss>