<?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 Probleme]]></title><description><![CDATA[<p>Hallo, ich habe zum Tet eine Klasse geschrieben, die 3 Werte hält.<br />
Nun möchte ich für diese Klasse den + Operator definieren.</p>
<pre><code class="language-cpp">#include &lt;IOstream&gt;
using namespace std;

template &lt;class T&gt; class  Punkt3D
{
public:
	T x,y,z;
public:
	Punkt3D(T x_,T y_, T z_):x(x_),y(y_), z(z_) 
	{
		cout &lt;&lt;&quot;Ich (Punkt3D) werde erzeugt \n&quot;;
	}

	~Punkt3D() 
	{
		cout &lt;&lt; &quot;Ich (Punkt3D) werde gelöscht \n&quot;;
	}

	void sag_was() 
	{
		cout &lt;&lt; &quot;Meine Werte sind&quot; &lt;&lt; &quot; &quot;&lt;&lt;x &lt;&lt; &quot; &quot; &lt;&lt; y &lt;&lt; &quot; &quot; &lt;&lt; z &lt;&lt;&quot;\n&quot;;
	}
};

//Hier ist das Problem, da das T undefiniert ist
Punkt3D&lt;T&gt; operator + ( Punkt3D&lt;T&gt; p1,Punkt3D&lt;T&gt; p2) {return Punkt3D(p1.x+p2.x,p1.y+p2.y,p1.z+p2.z);}
</code></pre>
<p>Allerdings habe ich nun das Problem, das ja außerhalb der Klasse das T vom Template nicht mehr definiert ist.</p>
<p>Wie löst man das problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192255/template-probleme</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 09:20:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192255.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Sep 2007 09:43:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template Probleme on Wed, 12 Sep 2007 09:43:29 GMT]]></title><description><![CDATA[<p>Hallo, ich habe zum Tet eine Klasse geschrieben, die 3 Werte hält.<br />
Nun möchte ich für diese Klasse den + Operator definieren.</p>
<pre><code class="language-cpp">#include &lt;IOstream&gt;
using namespace std;

template &lt;class T&gt; class  Punkt3D
{
public:
	T x,y,z;
public:
	Punkt3D(T x_,T y_, T z_):x(x_),y(y_), z(z_) 
	{
		cout &lt;&lt;&quot;Ich (Punkt3D) werde erzeugt \n&quot;;
	}

	~Punkt3D() 
	{
		cout &lt;&lt; &quot;Ich (Punkt3D) werde gelöscht \n&quot;;
	}

	void sag_was() 
	{
		cout &lt;&lt; &quot;Meine Werte sind&quot; &lt;&lt; &quot; &quot;&lt;&lt;x &lt;&lt; &quot; &quot; &lt;&lt; y &lt;&lt; &quot; &quot; &lt;&lt; z &lt;&lt;&quot;\n&quot;;
	}
};

//Hier ist das Problem, da das T undefiniert ist
Punkt3D&lt;T&gt; operator + ( Punkt3D&lt;T&gt; p1,Punkt3D&lt;T&gt; p2) {return Punkt3D(p1.x+p2.x,p1.y+p2.y,p1.z+p2.z);}
</code></pre>
<p>Allerdings habe ich nun das Problem, das ja außerhalb der Klasse das T vom Template nicht mehr definiert ist.</p>
<p>Wie löst man das problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363890</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Wed, 12 Sep 2007 09:43:29 GMT</pubDate></item><item><title><![CDATA[Reply to Template Probleme on Wed, 12 Sep 2007 09:46:21 GMT]]></title><description><![CDATA[<p>den operator auch als template implementieren:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
Punkt3D&lt;T&gt; operator +(Punkt3D&lt;T&gt; p1, Punkt3D&lt;T&gt; p2)
{
	return Punkt3D(p1.x+p2.x,p1.y+p2.y,p1.z+p2.z);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1363895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363895</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 12 Sep 2007 09:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Template Probleme on Wed, 12 Sep 2007 11:15:13 GMT]]></title><description><![CDATA[<p>und die Argumente bessert als konstante Referenzen übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363929</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 12 Sep 2007 11:15:13 GMT</pubDate></item><item><title><![CDATA[Reply to Template Probleme on Wed, 12 Sep 2007 11:17:51 GMT]]></title><description><![CDATA[<p>Und den Rückgabetyp const machen!<br />
Und dem Compiler eine NRVO ermöglichen!</p>
<pre><code class="language-cpp">template&lt;class T&gt;
const Punkt3D&lt;T&gt; operator +(const Punkt3D&lt;T&gt;&amp; p1, const Punkt3D&lt;T&gt;&amp; p2)
{
	Punkt3D&lt;T&gt; result(p1.x + p2.x, p1.y + p2.y, p1.z + p2.z);
	return result;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1363933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363933</guid><dc:creator><![CDATA[phalanx-fanboy]]></dc:creator><pubDate>Wed, 12 Sep 2007 11:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to Template Probleme on Wed, 12 Sep 2007 12:06:29 GMT]]></title><description><![CDATA[<p>phalanx-fanboy schrieb:</p>
<blockquote>
<p>Und dem Compiler eine NRVO ermöglichen!</p>
</blockquote>
<p>Ist imho quatsch. RVO gibt es schon länger als NRVO und dürfte daher von Compilern sogar eher besser unterstützt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363967</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 12 Sep 2007 12:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to Template Probleme on Wed, 12 Sep 2007 12:39:00 GMT]]></title><description><![CDATA[<p>phalanx-fanboy schrieb:</p>
<blockquote>
<p>Und dem Compiler eine NRVO ermöglichen!</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> lol <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Und auf keinen Fall inline Code schreiben, um dem Linker seine Link Time Code Generation zu ermöglichen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1363980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363980</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 12 Sep 2007 12:39:00 GMT</pubDate></item></channel></rss>