<?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[[Verständnisfrage] Inlining mit Headern]]></title><description><![CDATA[<p>Ist es jetzt eigentlich möglich, Inlining in Klassen so zu betreiben, dass ich die Inline-Methode an einer anderen Stelle definieren kann?</p>
<p>Also:<br />
So kann ich ja Inline-Methoden in Klassen machen (bzw. den Vorschlag zum Inlining geben):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class Test
{
  public:
    void printen()
    {
        std:cout &lt;&lt; &quot;HALLO!&quot;;
    }
};
</code></pre>
<p>Aber Folgendes funktioniert NICHT:</p>
<pre><code class="language-cpp">// Test.h
class Test
{
  public:
    void printen();
};
</code></pre>
<pre><code class="language-cpp">// Test.cpp
#include &quot;Test.h&quot;
#include &lt;iostream&gt;

inline void Test::printen()
{
    std::cout &lt;&lt; &quot;HALLO!&quot;;
}
</code></pre>
<p>Auch funktioniert es nicht, wenn ich bei der Deklaration in der Headerfile ein **extern<br />
**hinzufüge.</p>
<p>Gibt es eine Möglichkeit, das Trennen von Header &amp; Klasse zu bewahren und zu inlinen, ohne die printen-Methode direkt im Header definieren zu müssen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254327/verständnisfrage-inlining-mit-headern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 01:02:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254327.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 15 Nov 2009 02:01:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Verständnisfrage] Inlining mit Headern on Sun, 15 Nov 2009 02:02:17 GMT]]></title><description><![CDATA[<p>Ist es jetzt eigentlich möglich, Inlining in Klassen so zu betreiben, dass ich die Inline-Methode an einer anderen Stelle definieren kann?</p>
<p>Also:<br />
So kann ich ja Inline-Methoden in Klassen machen (bzw. den Vorschlag zum Inlining geben):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class Test
{
  public:
    void printen()
    {
        std:cout &lt;&lt; &quot;HALLO!&quot;;
    }
};
</code></pre>
<p>Aber Folgendes funktioniert NICHT:</p>
<pre><code class="language-cpp">// Test.h
class Test
{
  public:
    void printen();
};
</code></pre>
<pre><code class="language-cpp">// Test.cpp
#include &quot;Test.h&quot;
#include &lt;iostream&gt;

inline void Test::printen()
{
    std::cout &lt;&lt; &quot;HALLO!&quot;;
}
</code></pre>
<p>Auch funktioniert es nicht, wenn ich bei der Deklaration in der Headerfile ein **extern<br />
**hinzufüge.</p>
<p>Gibt es eine Möglichkeit, das Trennen von Header &amp; Klasse zu bewahren und zu inlinen, ohne die printen-Methode direkt im Header definieren zu müssen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1808146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1808146</guid><dc:creator><![CDATA[C-reator]]></dc:creator><pubDate>Sun, 15 Nov 2009 02:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to [Verständnisfrage] Inlining mit Headern on Sun, 15 Nov 2009 03:03:32 GMT]]></title><description><![CDATA[<p>C-reator schrieb:</p>
<blockquote>
<p>Gibt es eine Möglichkeit, das Trennen von Header &amp; Klasse zu bewahren und zu inlinen, ohne die printen-Methode direkt im Header definieren zu müssen?</p>
</blockquote>
<p>Da sieht es schlecht aus. Um sie &quot;inlinen&quot; zu können muss die Definition der Funktion bei deren Anwendung bereits bekannt sein, die Deklaration reicht nicht aus.</p>
<p>D.h. du kannst die Funktionsdefinition zwar außerhalb der Klassendefinition hinschreiben sie muss aber ebenfalls in die Header-Datei.</p>
<pre><code class="language-cpp">// Test.h
class Test
{
  public:
    void printen();
};

// das kommt dann auch in Test.h rein
inline void Test::printen()
{
    std::cout &lt;&lt; &quot;HALLO!&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1808154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1808154</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Sun, 15 Nov 2009 03:03:32 GMT</pubDate></item></channel></rss>