<?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[Templateparameter und virtual call &#x2F; RT-Identifizierung]]></title><description><![CDATA[<p>Also folgendes will ich tun:</p>
<pre><code>struct Widget
{
   template&lt;class tArc_&gt; // Geht nicht, is klar
   virtual void Serialise(tArc_ t_) {}
};

struct Button : public Widget
{
   virtual void Serialise()
      {
      Serialiser&lt;tArc_&gt;(*this);  // tArc_ woher ???
      }
};

// Client
Widget* w = new Button();
w-&gt;Serialise();
w-&gt;Serialise(cout);
</code></pre>
<p>Also entweder,<br />
wie kann ich einem virtuellen call einen Templateparameter &quot;mitgeben&quot;?<br />
(Bzw. wie könnte man das Verhalten &quot;Simulieren&quot;)<br />
Oder,<br />
wie könnte ich Widget* zur RT ohne vt identifizieren?</p>
<p>Gibt es da irgendwelche &quot;moderne&quot; Lösungen?<br />
(Ohne irgendwelche Hardcore-C-Hacks, das bekomm' ich auch noch hin <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>c ya, cPanther</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195597/templateparameter-und-virtual-call-rt-identifizierung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 05:00:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195597.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Oct 2007 12:12:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Templateparameter und virtual call &#x2F; RT-Identifizierung on Fri, 19 Oct 2007 12:13:47 GMT]]></title><description><![CDATA[<p>Also folgendes will ich tun:</p>
<pre><code>struct Widget
{
   template&lt;class tArc_&gt; // Geht nicht, is klar
   virtual void Serialise(tArc_ t_) {}
};

struct Button : public Widget
{
   virtual void Serialise()
      {
      Serialiser&lt;tArc_&gt;(*this);  // tArc_ woher ???
      }
};

// Client
Widget* w = new Button();
w-&gt;Serialise();
w-&gt;Serialise(cout);
</code></pre>
<p>Also entweder,<br />
wie kann ich einem virtuellen call einen Templateparameter &quot;mitgeben&quot;?<br />
(Bzw. wie könnte man das Verhalten &quot;Simulieren&quot;)<br />
Oder,<br />
wie könnte ich Widget* zur RT ohne vt identifizieren?</p>
<p>Gibt es da irgendwelche &quot;moderne&quot; Lösungen?<br />
(Ohne irgendwelche Hardcore-C-Hacks, das bekomm' ich auch noch hin <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>c ya, cPanther</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388503</guid><dc:creator><![CDATA[ajcPanther]]></dc:creator><pubDate>Fri, 19 Oct 2007 12:13:47 GMT</pubDate></item><item><title><![CDATA[Reply to Templateparameter und virtual call &#x2F; RT-Identifizierung on Fri, 19 Oct 2007 12:22:12 GMT]]></title><description><![CDATA[<p>Du willst der Methode 'serialize' einen Parameter mitgeben, wohin er die Daten ausgeben soll? Dazu brauchst du doch keinen Template-Parameter.<br />
Du könntest entweder eine eigene Interface-Klasse dafür anbieten oder aber z.B. generell als Parameter 'ostream&amp;' angeben, d.h. du kannst damit wahlweise z.B. cout, ofstream oder ostringstream übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388509</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 19 Oct 2007 12:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to Templateparameter und virtual call &#x2F; RT-Identifizierung on Fri, 19 Oct 2007 12:53:14 GMT]]></title><description><![CDATA[<p>Boost::Archive<br />
ostream<br />
whatever</p>
<p>nee, will's schon so wie geschrieben haben <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="🙂"
    /><br />
(Ist ja auch eher Beispielcode, also was ich vorhabe is ein bissle anders <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>Aber trotzdem danke ;o)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388541</guid><dc:creator><![CDATA[ajcPanther]]></dc:creator><pubDate>Fri, 19 Oct 2007 12:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to Templateparameter und virtual call &#x2F; RT-Identifizierung on Fri, 19 Oct 2007 18:09:37 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;class tArc_&gt;
struct Widget
{
   virtual void Serialise(tArc_ t_) {}
};

struct Button : public Widget&lt;Button&gt;
{
   virtual void Serialise()
      {
      Serialiser&lt;Button&gt;(*this);
      }
};

// Client
Widget&lt;Button&gt;* w = new Button();
w-&gt;Serialise();
</code></pre>
<p>Ist jetzt ungetestet ausm Stegreif. Ist das ungefähr das, was du willst? Oder habe ich deine Frage nicht richtig verstanden?</p>
<p>Dennis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388697</guid><dc:creator><![CDATA[deha]]></dc:creator><pubDate>Fri, 19 Oct 2007 18:09:37 GMT</pubDate></item></channel></rss>