<?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[Klassentemplates spezialisieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>Meine Template-Klasse <code>template &lt;class T&gt; MyClass</code> für <code>T=MyClass</code> anders aufgebaut werden, als für <code>T=MyOtherClass</code> .<br />
Und zwar soll eine Membervariable je nach Template-Parameter verschiedene Typen erhalten:</p>
<pre><code class="language-cpp">template &lt;class T&gt; MyClass {
    // Standardmäßige Membervariable (also bei T=MyClass)
    int m_object;

    // Membervariable bei T=MyOtherClass
    std::list&lt;int&gt; m_object;
};
</code></pre>
<p>Lässt sich das mit C++ realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257267/klassentemplates-spezialisieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 11:11:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257267.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Dec 2009 17:20:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 17:20:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Meine Template-Klasse <code>template &lt;class T&gt; MyClass</code> für <code>T=MyClass</code> anders aufgebaut werden, als für <code>T=MyOtherClass</code> .<br />
Und zwar soll eine Membervariable je nach Template-Parameter verschiedene Typen erhalten:</p>
<pre><code class="language-cpp">template &lt;class T&gt; MyClass {
    // Standardmäßige Membervariable (also bei T=MyClass)
    int m_object;

    // Membervariable bei T=MyOtherClass
    std::list&lt;int&gt; m_object;
};
</code></pre>
<p>Lässt sich das mit C++ realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827790</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:20:50 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 17:28:04 GMT]]></title><description><![CDATA[<p>Ehm.. Du hast ja schon genannt, wie das geht. Mit Spezialisierung. <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>
<pre><code class="language-cpp">class MyOtherClass {};

template &lt;class T&gt; 
struct MyClass 
{
    int m_object;
};

template &lt;&gt; 
struct MyClass&lt;MyOtherClass&gt;
{
	std::list&lt;int&gt; m_object;
};
</code></pre>
<p>Hast du das Wort jetzt einfach so benutzt, oder kanntest du Spezialisierung doch schon?</p>
<p>Schau mal hier (oder besser in einem guten Buch):<br />
<a href="http://de.wikipedia.org/wiki/Template_%28Programmierung%29#Spezialisierung" rel="nofollow">http://de.wikipedia.org/wiki/Template_(Programmierung)#Spezialisierung</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827793</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 17:28:14 GMT]]></title><description><![CDATA[<p>Äh...unter der Annahme, dass die Doppelbelegung von MyClass in deinem Beispiel ein Versehen ist - du beschreibst es einmal als Klasse und einmal als Klassenvorlage - klar.</p>
<pre><code class="language-cpp">class my_class { }
class my_other_class { };

template&lt;typename T&gt; class my_class_template {
  // Hier ggf. für andere Typen implementieren
};

template&lt;&gt; class my_class_template&lt;my_class&gt; {
  int m_object;
};

template&lt;&gt; class my_class_template&lt;my_other_class&gt; {
  std::list&lt;int&gt; m_object;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1827794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827794</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:28:14 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 17:31:19 GMT]]></title><description><![CDATA[<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="🙂"
    /><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>: Ich wusste das das bei Funktionen geht, aber nicht, wie das bei Klassen zu funktionieren hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827796</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:31:19 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 17:35:32 GMT]]></title><description><![CDATA[<p>Hehe. Ich habe das, wenn ich mich richtig erinnere damals zuerst bei Klassen gelernt und dann wurde gesagt, dass das auch bei Funktionen geht. <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/1827798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827798</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:35:32 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 17:42:27 GMT]]></title><description><![CDATA[<p>Bei Klassentemplates geht es sogar besser, weil sich diese auch partiell spezialisieren lassen (bei mehreren Templateparametern spezialisiert man nur einen Teil davon).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827802</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:42:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplates spezialisieren on Fri, 25 Dec 2009 22:33:43 GMT]]></title><description><![CDATA[<p>soll man das nicht auch bei fkt. im kommenden standard machen dürfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827878</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 25 Dec 2009 22:33:43 GMT</pubDate></item></channel></rss>