<?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]]></title><description><![CDATA[<p>Hallo,</p>
<p>arbeite mich gerade in Templates ein. Warum funktioniert folgender Code nicht?<br />
Danke schon mal</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int max(int a, int b)
{
	if (a &gt; b) return a;
	else return b;
}

template &lt;class T&gt;
T max_template(T a, T b)
{
	if (a &gt; b) return a;
	else return b;
}

class Test_class
{
	string m_Name;
	public:
	Test_class(string Name):m_Name(Name){};
	Test_class(Test_class &amp;copyconst){m_Name = copyconst.m_Name;};
	bool operator&gt; (const Test_class &amp;Test)
	{
		return this-&gt;m_Name.length() &gt; Test.m_Name.length();
	}
	/*bool operator &lt; (const Test_class &amp;Test)
	{
		return this-&gt;m_Name.length() &gt; Test.m_Name.length();
	}*/
};

int main() {

	cout &lt;&lt; &quot;Größte Zahl ist: &quot; &lt;&lt; max(2,5)&lt;&lt;endl;
	cout &lt;&lt; &quot;Größte Zahl ist: &quot; &lt;&lt; max_template(2.3,5.6)&lt;&lt;endl;
	cout &lt;&lt; &quot;Größte Zahl ist: &quot; &lt;&lt; max_template(2,6)&lt;&lt;endl;
	Test_class T1(&quot;TEST&quot;),T2(&quot;LaengeralsTEST&quot;);
	max_template(T1,T2);
	max (T1,T2);
	//cout &lt;&lt; &quot;Längster Name ist: &quot;&lt;&lt; max(T1,T2) &lt;&lt;endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/270073/template</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 14:50:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270073.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Jul 2010 09:12:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template on Tue, 06 Jul 2010 09:12:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>arbeite mich gerade in Templates ein. Warum funktioniert folgender Code nicht?<br />
Danke schon mal</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int max(int a, int b)
{
	if (a &gt; b) return a;
	else return b;
}

template &lt;class T&gt;
T max_template(T a, T b)
{
	if (a &gt; b) return a;
	else return b;
}

class Test_class
{
	string m_Name;
	public:
	Test_class(string Name):m_Name(Name){};
	Test_class(Test_class &amp;copyconst){m_Name = copyconst.m_Name;};
	bool operator&gt; (const Test_class &amp;Test)
	{
		return this-&gt;m_Name.length() &gt; Test.m_Name.length();
	}
	/*bool operator &lt; (const Test_class &amp;Test)
	{
		return this-&gt;m_Name.length() &gt; Test.m_Name.length();
	}*/
};

int main() {

	cout &lt;&lt; &quot;Größte Zahl ist: &quot; &lt;&lt; max(2,5)&lt;&lt;endl;
	cout &lt;&lt; &quot;Größte Zahl ist: &quot; &lt;&lt; max_template(2.3,5.6)&lt;&lt;endl;
	cout &lt;&lt; &quot;Größte Zahl ist: &quot; &lt;&lt; max_template(2,6)&lt;&lt;endl;
	Test_class T1(&quot;TEST&quot;),T2(&quot;LaengeralsTEST&quot;);
	max_template(T1,T2);
	max (T1,T2);
	//cout &lt;&lt; &quot;Längster Name ist: &quot;&lt;&lt; max(T1,T2) &lt;&lt;endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1922103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922103</guid><dc:creator><![CDATA[balou123]]></dc:creator><pubDate>Tue, 06 Jul 2010 09:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to Template on Tue, 06 Jul 2010 09:48:13 GMT]]></title><description><![CDATA[<p>Const-correctness beachten!</p>
<pre><code class="language-cpp">bool operator &lt; (const Test_class &amp;Test) const
</code></pre>
<p>Dann funktioniert es.</p>
<p>edit: Beziehungsweise nicht unbedingt. Deine Funktion max wird nicht genommen, denn die verlangt ja nach zwei Integern. Stattdessen wird std::max genommen (da using namespace std am Anfang steht), sofern std::max durch einen der anderen Header schon eingebunden wird (was nicht zwangsläufig so ist, bei mir aber zufällig schon). Normalerweise wird max im Header &lt;algorithm&gt; definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922116</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Jul 2010 09:48:13 GMT</pubDate></item><item><title><![CDATA[Reply to Template on Tue, 06 Jul 2010 18:16:53 GMT]]></title><description><![CDATA[<p>Vergleichsoperatoren solltest du als freie Funktionen und nicht als Member implementieren.</p>
<pre><code class="language-cpp">bool operator&lt; (const Test_class&amp; lhs, const Test_class&amp; rhs);
</code></pre>
<p>Warum, steht <a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%201%29" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922396</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:16:53 GMT</pubDate></item></channel></rss>