<?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[Templates =&amp;gt;  Header und Source kapselung]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hab heute ne kleine Template Klasse implementiert! Und wie es sich gehört , den Deklarationteil in die Header gepackt, und die implementierung in die CPP!</p>
<p>Aber bei Template ging das nich ohne weiteres, wenn ich eine instanz erzeugen will, und musst auf folgenden Workarround:</p>
<p><a href="http://www.codeproject.com/Articles/48575/How-to-define-a-template-class-in-a-h-file-and-imp" rel="nofollow">http://www.codeproject.com/Articles/48575/How-to-define-a-template-class-in-a-h-file-and-imp</a></p>
<p>d.h. ich muss da wo ich das template verwende die header und die source datei includieren, damit es keine linker fehler gibt!?</p>
<p>Finde das alles etwas unschön <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="😞"
    /> Bin verwöhnt von c# und generics:p</p>
<p>Wie macht ihr das ? Wie geht ihr mit dem Problem ums?`</p>
<p>Danke und Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330850/templates-gt-header-und-source-kapselung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 18:23:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330850.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Jan 2015 18:50:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Templates =&amp;gt;  Header und Source kapselung on Wed, 28 Jan 2015 18:50:59 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hab heute ne kleine Template Klasse implementiert! Und wie es sich gehört , den Deklarationteil in die Header gepackt, und die implementierung in die CPP!</p>
<p>Aber bei Template ging das nich ohne weiteres, wenn ich eine instanz erzeugen will, und musst auf folgenden Workarround:</p>
<p><a href="http://www.codeproject.com/Articles/48575/How-to-define-a-template-class-in-a-h-file-and-imp" rel="nofollow">http://www.codeproject.com/Articles/48575/How-to-define-a-template-class-in-a-h-file-and-imp</a></p>
<p>d.h. ich muss da wo ich das template verwende die header und die source datei includieren, damit es keine linker fehler gibt!?</p>
<p>Finde das alles etwas unschön <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="😞"
    /> Bin verwöhnt von c# und generics:p</p>
<p>Wie macht ihr das ? Wie geht ihr mit dem Problem ums?`</p>
<p>Danke und Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440233</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Wed, 28 Jan 2015 18:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to Templates =&amp;gt;  Header und Source kapselung on Wed, 28 Jan 2015 18:52:01 GMT]]></title><description><![CDATA[<p>NullBockException schrieb:</p>
<blockquote>
<p>Wie macht ihr das ? Wie geht ihr mit dem Problem ums?</p>
</blockquote>
<p>Ich schreibe alles im Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440234</guid><dc:creator><![CDATA[allinone]]></dc:creator><pubDate>Wed, 28 Jan 2015 18:52:01 GMT</pubDate></item><item><title><![CDATA[Reply to Templates =&amp;gt;  Header und Source kapselung on Thu, 29 Jan 2015 10:53:20 GMT]]></title><description><![CDATA[<p>ohhh.. hätte nich gedacht, dass es hier wohl keine bet. konvetionen für diesen fall gibt.. hmm dann mach ich wohl auch alles in den header...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440315</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Thu, 29 Jan 2015 10:53:20 GMT</pubDate></item><item><title><![CDATA[Reply to Templates =&amp;gt;  Header und Source kapselung on Thu, 29 Jan 2015 10:59:53 GMT]]></title><description><![CDATA[<p>NullBockException schrieb:</p>
<blockquote>
<p>d.h. ich muss da wo ich das template verwende die header und die source datei includieren, damit es keine linker fehler gibt!?</p>
</blockquote>
<p>Nö.Die gängigen Konventionen sind wohl:</p>
<ol>
<li>Alles im Header</li>
<li>Der Header inkludiert am Ende die .cpp oder .impl Datei</li>
</ol>
<p>Der Client sollte da wie gewohnt nur den Header inkludieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440317</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 29 Jan 2015 10:59:53 GMT</pubDate></item><item><title><![CDATA[Reply to Templates =&amp;gt;  Header und Source kapselung on Thu, 29 Jan 2015 11:16:19 GMT]]></title><description><![CDATA[<p>Mach dir folgendes klar:</p>
<p>Template-Code ist ja nicht wirklich &quot;da&quot;. Im Gegensatz zu normalen cpp-Dateien, aus denen der Compiler dann verlinkbare Objektdateien baut, sind Templates nur &quot;Anleitungen&quot;, wie <strong>andere</strong> daraus ihren Code bauen können.</p>
<p>Wenn du also eine tolle Template-Klasse</p>
<pre><code>template &lt;class T&gt;
class Garage
{
    ...
};
</code></pre>
<p>geschrieben hast, interessiert das zunächst mal niemand.</p>
<p>Erst in deiner Client-Anwendungs-cpp, wo es dann heißt:</p>
<pre><code>class RaceCar;
...

Garage&lt;RaceCar&gt; myGarage;
</code></pre>
<p>wird anhand des Templates der tatsächliche Code gebaut (compiliert)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440321</guid><dc:creator><![CDATA[minastaros]]></dc:creator><pubDate>Thu, 29 Jan 2015 11:16:19 GMT</pubDate></item></channel></rss>