<?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 mit zwei klassen]]></title><description><![CDATA[<p>hiho, hab da mal eine frage</p>
<p>nehmen wir manl an ich habe zwei klassen</p>
<p>template&lt;class X&gt;<br />
class foo{<br />
};</p>
<p>klasse foo nutzt bar aber die sollten beide mit gleichen klasse initialisiert werden</p>
<p>also<br />
template&lt;class X&gt;<br />
class bar{<br />
};</p>
<p>kann ich nicht schreiben, aber wie dann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181836/template-mit-zwei-klassen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 10:37:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181836.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 May 2007 20:59:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to template mit zwei klassen on Thu, 17 May 2007 20:59:10 GMT]]></title><description><![CDATA[<p>hiho, hab da mal eine frage</p>
<p>nehmen wir manl an ich habe zwei klassen</p>
<p>template&lt;class X&gt;<br />
class foo{<br />
};</p>
<p>klasse foo nutzt bar aber die sollten beide mit gleichen klasse initialisiert werden</p>
<p>also<br />
template&lt;class X&gt;<br />
class bar{<br />
};</p>
<p>kann ich nicht schreiben, aber wie dann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287061</guid><dc:creator><![CDATA[klassentemplate]]></dc:creator><pubDate>Thu, 17 May 2007 20:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to template mit zwei klassen on Thu, 17 May 2007 21:07:40 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich denke, ich habe Dich noch nicht richtig verstanden ... oder Du hast noch nicht ganz durchschaut, wie templates funktionieren oder was Du wirklich willst <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>
<p>&quot;mit Klassen initialisieren&quot; ?<br />
&quot;foo nutzt bar&quot; ?<br />
Am ehesten klingt das für mich nach</p>
<pre><code class="language-cpp">template&lt;typename X&gt;
struct bar{
   X a;
};

template&lt;typename X&gt;
struct foo {
   bar&lt;X&gt; b;
};

int main() {
   foo&lt;int&gt; f;
   f.b.a = 3;
   return 0;
}
</code></pre>
<p>???</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287065</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 17 May 2007 21:07:40 GMT</pubDate></item><item><title><![CDATA[Reply to template mit zwei klassen on Thu, 17 May 2007 21:26:47 GMT]]></title><description><![CDATA[<p>Nein er will einfach das beide Klassen auf jedenfall den selben typen haben ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287084</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 17 May 2007 21:26:47 GMT</pubDate></item><item><title><![CDATA[Reply to template mit zwei klassen on Thu, 17 May 2007 22:01:20 GMT]]></title><description><![CDATA[<p>Ahooo !! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
<p>OK, da kann ich gerade nichts anbieten.<br />
Ich würde allerdings auch nur sehr ungern ein Design wählen, bei dem ich das bräuchte....<br />
Ich würde eher so vorgehen, dass die parametrisierende Klasse gewisse Eigenschaften aufweisen muss - ob das direkt dieselbe Klasse ist, oder zwei unterschiedliche mit denselben Eigenschaften (z.B. zwei &quot;Blätter einer gemeinsamen Basis&quot;), wäre mir lieber egal.</p>
<p>Nachtrag: Vielleicht funktioniert eine &quot;künstliche Hürde&quot; wie:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
struct foo {
   explicit foo() {}
};

template &lt;typename T&gt;
class bar {
   T unused;
   foo&lt;T&gt; unusedChecker;
public:
   bar() : unusedChecker(checkType(unused)) {}
};

template &lt;typename T&gt;
foo&lt;T&gt; checkType(T i) { return foo&lt;T&gt;; }
</code></pre>
<p>Alternativ könnte man bar auch so stricken, dass man es mit foo&lt;T&gt; parametrisiert, dann kann da auch nichts anbrennen. Wenn man T selbst braucht, kann man das mit einem Typedef in foo machen....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287087</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 17 May 2007 22:01:20 GMT</pubDate></item><item><title><![CDATA[Reply to template mit zwei klassen on Fri, 18 May 2007 09:08:42 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Nein er will einfach das beide Klassen auf jedenfall den selben typen haben ...</p>
</blockquote>
<p>Wozu? Anders gefragt, in welcher Beziehung stehen die Klassen? Denn in Deinem Posting stehen sie in keiner sichtbaren Beziehung und dann ist es auch sinnlos (um nicht zu sagen unmöglich), den beiden Klassen denselben Template-Typ aufzuzwingen.</p>
<p>&quot;Klasse Foo nutzt Bar&quot; =&gt; Na, hier haste es doch. Schreib die Schnittstelle (&quot;a nutzt b&quot;) einfach entsprechend, dass sie nur funktioniert, wenn Foo denselben Template-Typ wie Bar hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287221</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 18 May 2007 09:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to template mit zwei klassen on Fri, 18 May 2007 12:44:42 GMT]]></title><description><![CDATA[<p>wenn es zwei separate klassen sein sollen die beide identisch sind, warum keine basis klasse generieren und foo sowie bar ableiten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1287375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1287375</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 18 May 2007 12:44:42 GMT</pubDate></item></channel></rss>