<?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[Zeiger&#x2F;Referenz auf Typ &amp;quot;beliebige Version eines Templateklasse&amp;quot;?]]></title><description><![CDATA[<p>Hallo,<br />
hab leider meinen Stroustrup nicht zur Hand und alle Template-Tutorials decken meine Frage nicht ab:</p>
<p>Ich habe eine Template-Klasse ála &quot;template&lt;class N, class E&gt; graph&quot;.</p>
<p>Zur Ausgabe will ich eine Klasse &quot;GraphWriter&quot; schreiben. Diese Klasse benutzt natürlich meine Template-Klasse &quot;graph&quot;. Daher hätte ich in der Klasse GraphWriter gerne eine Membervariable als Zeiger oder Referenz auf graph.</p>
<p>Konsequenterweise müsste ich dann aber aus der GraphWriter-Klasse ebenso eine Template-Klasse machen, also</p>
<pre><code>template&lt;class N, class E&gt;
class GraphWriter {
...
graph&lt;N,E&gt;&amp; m_graph;
}
</code></pre>
<p>Andererseits hängt das, was GraphWriter macht, nicht wirklich von den Template-Parametern des Graphen ab und könnte generell für alle Graphen gelten. Daher würde ich gerne vermeiden, aus GraphWriter eine Template-Klasse zu machen. Das Problem dann: Wie deklariere ich den Zeiger auf den graph? Einfach vor<br />
diese Variable &quot;template&lt;class N, class E&gt;&quot; schreiben ist verboten (gibt ja keine &quot;Variablen&quot;-Templates)...</p>
<p>Und das, was ich über &quot;Spezialisierung&quot;, betrifft auch nur Spezialisierungen von bereits als Template-Klassen angelegten Klassen...</p>
<p>Was kann ich tun?</p>
<p>Gruß,<br />
Supertramp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182774/zeiger-referenz-auf-typ-quot-beliebige-version-eines-templateklasse-quot</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 02:04:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182774.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 May 2007 08:43:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger&#x2F;Referenz auf Typ &amp;quot;beliebige Version eines Templateklasse&amp;quot;? on Tue, 29 May 2007 08:43:43 GMT]]></title><description><![CDATA[<p>Hallo,<br />
hab leider meinen Stroustrup nicht zur Hand und alle Template-Tutorials decken meine Frage nicht ab:</p>
<p>Ich habe eine Template-Klasse ála &quot;template&lt;class N, class E&gt; graph&quot;.</p>
<p>Zur Ausgabe will ich eine Klasse &quot;GraphWriter&quot; schreiben. Diese Klasse benutzt natürlich meine Template-Klasse &quot;graph&quot;. Daher hätte ich in der Klasse GraphWriter gerne eine Membervariable als Zeiger oder Referenz auf graph.</p>
<p>Konsequenterweise müsste ich dann aber aus der GraphWriter-Klasse ebenso eine Template-Klasse machen, also</p>
<pre><code>template&lt;class N, class E&gt;
class GraphWriter {
...
graph&lt;N,E&gt;&amp; m_graph;
}
</code></pre>
<p>Andererseits hängt das, was GraphWriter macht, nicht wirklich von den Template-Parametern des Graphen ab und könnte generell für alle Graphen gelten. Daher würde ich gerne vermeiden, aus GraphWriter eine Template-Klasse zu machen. Das Problem dann: Wie deklariere ich den Zeiger auf den graph? Einfach vor<br />
diese Variable &quot;template&lt;class N, class E&gt;&quot; schreiben ist verboten (gibt ja keine &quot;Variablen&quot;-Templates)...</p>
<p>Und das, was ich über &quot;Spezialisierung&quot;, betrifft auch nur Spezialisierungen von bereits als Template-Klassen angelegten Klassen...</p>
<p>Was kann ich tun?</p>
<p>Gruß,<br />
Supertramp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1294256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1294256</guid><dc:creator><![CDATA[Supertramp]]></dc:creator><pubDate>Tue, 29 May 2007 08:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger&#x2F;Referenz auf Typ &amp;quot;beliebige Version eines Templateklasse&amp;quot;? on Tue, 29 May 2007 09:47:24 GMT]]></title><description><![CDATA[<p>Versuch's doch mal mit einer allgemeinen Basisklasse, die du halten kannst:</p>
<pre><code class="language-cpp">class graph_base
{...};

template&lt;...&gt;
class graph : public graph_base
{...};

class GraphWriter
{
  graph_base&amp; m_graph;
  ...
};
</code></pre>
<p>Ansonsten: Ist es denn notwendig, daß der GraphWriter an einen bestimmten Graphen angeschlossen wird? Wenn ja, warum können ihm dann dessen Template-Parameter egal sein (was stellen die überhaupt dar?)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1294305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1294305</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 29 May 2007 09:47:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger&#x2F;Referenz auf Typ &amp;quot;beliebige Version eines Templateklasse&amp;quot;? on Tue, 29 May 2007 18:10:23 GMT]]></title><description><![CDATA[<p>Instanzen eines Klassen-Templates (mit unterschiedlichen Template Parametern) sind &quot;unrelated&quot;, daher kann man auch keinen Zeiger auf &quot;irgendeine Instanz von X&quot; haben.<br />
Siehe CStoll, mach ne gemeinsame Basisklasse die das Interface definiert (virtual pure und co), dann kannste nen Zeiger auf diese Basisklasse verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1294705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1294705</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 29 May 2007 18:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger&#x2F;Referenz auf Typ &amp;quot;beliebige Version eines Templateklasse&amp;quot;? on Thu, 31 May 2007 14:09:01 GMT]]></title><description><![CDATA[<p>Klingt gut. Danke.<br />
Irgendwie denke ich oft noch zu Javaesk <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/1296005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296005</guid><dc:creator><![CDATA[Supertramp]]></dc:creator><pubDate>Thu, 31 May 2007 14:09:01 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger&#x2F;Referenz auf Typ &amp;quot;beliebige Version eines Templateklasse&amp;quot;? on Thu, 31 May 2007 19:32:11 GMT]]></title><description><![CDATA[<p>Huch?<br />
In Java gibts garkeine Templates. Irgendwie vermischt und verwechselst du in Gedanken Dinge, z.B. Templates und Generics.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1296232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1296232</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 31 May 2007 19:32:11 GMT</pubDate></item></channel></rss>