<?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[Template Klasse mit spezialisierten Methoden?]]></title><description><![CDATA[<p>Hallo,</p>
<p>bei mir hakt es gerade bei diesem Konstrukt (kompiliert nicht)</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
class Test
{
public:
	bool Do&lt;bool&gt;()
	{
		return true;
	}

	bool Do&lt;int&gt;()
	{
		return false;
	}

};

Test&lt;bool&gt; t;
t.Do();
</code></pre>
<p>Ich versuche eine Template Klasse zu erzeugen und dann die jeweilige Do-Methode aufzurufen.<br />
Der Gedanke ist: Ich weiß beim erzeugen der Instanz genau, welchen Typ sie hat, wenn ich aber Do aufrufe, weiß ich nicht mehr, von welchem Typ das Template war.</p>
<p>Ist so etwas möglich?<br />
Beim aufruf von <a href="http://t.Do" rel="nofollow">t.Do</a>(); will ich natürlich nicht so etwas wie t&lt;true&gt;.Do() aufrufen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295212/template-klasse-mit-spezialisierten-methoden</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 12:47:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295212.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Nov 2011 12:09:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template Klasse mit spezialisierten Methoden? on Wed, 09 Nov 2011 12:09:54 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>bei mir hakt es gerade bei diesem Konstrukt (kompiliert nicht)</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
class Test
{
public:
	bool Do&lt;bool&gt;()
	{
		return true;
	}

	bool Do&lt;int&gt;()
	{
		return false;
	}

};

Test&lt;bool&gt; t;
t.Do();
</code></pre>
<p>Ich versuche eine Template Klasse zu erzeugen und dann die jeweilige Do-Methode aufzurufen.<br />
Der Gedanke ist: Ich weiß beim erzeugen der Instanz genau, welchen Typ sie hat, wenn ich aber Do aufrufe, weiß ich nicht mehr, von welchem Typ das Template war.</p>
<p>Ist so etwas möglich?<br />
Beim aufruf von <a href="http://t.Do" rel="nofollow">t.Do</a>(); will ich natürlich nicht so etwas wie t&lt;true&gt;.Do() aufrufen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142493</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 09 Nov 2011 12:09:54 GMT</pubDate></item><item><title><![CDATA[Reply to Template Klasse mit spezialisierten Methoden? on Wed, 09 Nov 2011 12:18:26 GMT]]></title><description><![CDATA[<p>Weder Templates noch Templatespezialisierungen funktionieren so wie du es versuchst. Guck dir das noch einmal an. So geht's:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class Test;

template&lt;&gt; class Test&lt;bool&gt;
{
public:
  bool Do() {return true;}
};

template&lt;&gt; class Test&lt;int&gt;
{
public:
  bool Do() {return false;}
};

int main(){
  Test&lt;bool&gt; t;
  t.Do(); 
}
</code></pre>
<p>edit: Eventuell meinst du auch so etwas, das wird aus deinem Beitrag nicht klar:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class Test
{
public:
  bool Do() {return true;}
};

template&lt;&gt; bool Test&lt;int&gt;:: Do() {return false;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2142498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142498</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Nov 2011 12:18:26 GMT</pubDate></item><item><title><![CDATA[Reply to Template Klasse mit spezialisierten Methoden? on Wed, 09 Nov 2011 13:03:19 GMT]]></title><description><![CDATA[<p>Das hat geholfen. Danke</p>
<p>Ich hatte relativ lange mit den Templates von C++ nichts mehr zu tun.</p>
<p>Danke nochmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2142516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142516</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 09 Nov 2011 13:03:19 GMT</pubDate></item><item><title><![CDATA[Reply to Template Klasse mit spezialisierten Methoden? on Wed, 09 Nov 2011 13:10:54 GMT]]></title><description><![CDATA[<p>Das lässt sich auch noch ohne extra Spezialisierung durch Anwendung eines entsprechenden Prädikates auf T schreiben</p>
<pre><code class="language-cpp">#include &lt;type_traits&gt;
template &lt;typename T&gt; class Test
{
public:
  bool Do() { return !std::is_same&lt;T,int&gt;::value; }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2142522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2142522</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 09 Nov 2011 13:10:54 GMT</pubDate></item></channel></rss>