<?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[Objekt einer Template Klasse als Methodenparameter.]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine generische Klasse &quot;CBA_DataType_Matrix&quot; geschrieben. (Unvollständig)<br />
Viele Methoden hab ich hier in der Darstellung hier ausgelassen, damit es übersichtlich bleibt.</p>
<p>Die Kompilierung klappt nur, wenn ich an die isBigger Methode ein Objekt bekommt, was exakt die selben Parameter hat wie das Object aus dem die Methode ausgeführt wird. Ich möchte aber, dass das Object übergeben wird, egal welche Parameterwerte es hat, solange es nur vom Typ CBA_DataType_Matrix ist.<br />
Könnt ihr mir da helfen?</p>
<pre><code class="language-cpp">template &lt;class T,int DIM_N, int DIM_M&gt;
class CBA_DataType_Matrix : CBA_DataType_Abstract
{
(...)

public:
	bool isBigger(CBA_DataType_Matrix p_mtrx)
	{
		try
		{
			if(det() &lt; p_mtrx.det())
			{
				return true;
			}
			return false;
		}
		catch(char const* e)
		{
			return false;
		}
	}
(...)
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/254934/objekt-einer-template-klasse-als-methodenparameter</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 09:20:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254934.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Nov 2009 13:53:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt einer Template Klasse als Methodenparameter. on Mon, 23 Nov 2009 13:53:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine generische Klasse &quot;CBA_DataType_Matrix&quot; geschrieben. (Unvollständig)<br />
Viele Methoden hab ich hier in der Darstellung hier ausgelassen, damit es übersichtlich bleibt.</p>
<p>Die Kompilierung klappt nur, wenn ich an die isBigger Methode ein Objekt bekommt, was exakt die selben Parameter hat wie das Object aus dem die Methode ausgeführt wird. Ich möchte aber, dass das Object übergeben wird, egal welche Parameterwerte es hat, solange es nur vom Typ CBA_DataType_Matrix ist.<br />
Könnt ihr mir da helfen?</p>
<pre><code class="language-cpp">template &lt;class T,int DIM_N, int DIM_M&gt;
class CBA_DataType_Matrix : CBA_DataType_Abstract
{
(...)

public:
	bool isBigger(CBA_DataType_Matrix p_mtrx)
	{
		try
		{
			if(det() &lt; p_mtrx.det())
			{
				return true;
			}
			return false;
		}
		catch(char const* e)
		{
			return false;
		}
	}
(...)
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1812322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812322</guid><dc:creator><![CDATA[Cappex]]></dc:creator><pubDate>Mon, 23 Nov 2009 13:53:04 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt einer Template Klasse als Methodenparameter. on Mon, 23 Nov 2009 15:21:22 GMT]]></title><description><![CDATA[<p>du meinst</p>
<pre><code class="language-cpp">template &lt;class T2, int DIM_N2, int DIM_M2&gt;
bool isBigger(CBA_DataType_Matrix&lt;T2, DIM_N2, DIM_M2&gt; p_mtrx)
{

}
</code></pre>
<p>!?!</p>
<p>Edit: immer diese Tippfehlerchen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812397</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Mon, 23 Nov 2009 15:21:22 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt einer Template Klasse als Methodenparameter. on Mon, 23 Nov 2009 16:24:34 GMT]]></title><description><![CDATA[<p>Ah sehr schön <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="🙂"
    /> Vielen dank <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="😃"
    /></p>
<p>Wenn ich jetzt noch ein Objekt der Klasse CBA_DataType_Matrix zurückgeben möchte aus der Methode? Wie muss ich dann die Template Parameter definieren?</p>
<p>Kann ich dann einfach sagen... bspw:</p>
<pre><code class="language-cpp">CBA_DataType_Matrix multiplyHadamar(CBA_DataType_Matrix &lt;P_T, P_DIM_N, P_DIM_M&gt; p_mtrx)
{
    return dingsBumsObjectVomTypCBA_DataType_Matrix;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1812444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812444</guid><dc:creator><![CDATA[Cappex]]></dc:creator><pubDate>Mon, 23 Nov 2009 16:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt einer Template Klasse als Methodenparameter. on Mon, 23 Nov 2009 18:00:58 GMT]]></title><description><![CDATA[<p>Cappex schrieb:</p>
<blockquote>
<p>Ich möchte aber, dass das Object übergeben wird, egal welche Parameterwerte es hat, solange es nur vom Typ CBA_DataType_Matrix ist.</p>
</blockquote>
<p><code>CBA_DataType_Matrix</code> ist weder ein Typ noch eine Klasse. Es handelt sich hier um ein Klassen-<strong>Template</strong>, also eine Vorlage einer Klasse. Ein konkreter Typ ergibt sich, indem du die Template-Argumente einsetzt.</p>
<p>Cappex schrieb:</p>
<blockquote>
<p>Kann ich dann einfach sagen... bspw:</p>
<pre><code class="language-cpp">CBA_DataType_Matrix multiplyHadamar(CBA_DataType_Matrix &lt;P_T, P_DIM_N, P_DIM_M&gt; p_mtrx)
{
    return dingsBumsObjectVomTypCBA_DataType_Matrix;
}
</code></pre>
</blockquote>
<p>Nein, du musst einen vollständigen Typ zurückgeben, also inklusive Template-Argumente. Überlege dir also, welche Angaben für den zurückgegebenen Typ sinnvoll sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812498</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 23 Nov 2009 18:00:58 GMT</pubDate></item></channel></rss>