<?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[Frage zu Vererbung &amp;amp; Templates]]></title><description><![CDATA[<p>Hallo, ich habe folgendes Problem:</p>
<p>Angenommen ich habe eine Templateklasse namens Message mit genau einem Typenparameter. Von dieser Templateklasse möchte ich nun eine Klasse namens DataMessage ableiten, wobei ich für den Typenparameter einen Datentyp einsetzen möchte, den ich erst in der Klasse DataMessage definieren kann, also etwa so:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class Message
{
public:
	Message (const T type, void* pData, const unsigned short nLength);
	virtual ~Message ();

private:
	T m_type;
	void* m_pData;
	unsigned short m_nLength;

public:
	T getType () const { return m_type; }
	void* getData () const { return m_pData; }
	unsigned short getLength () const { return m_nLength; }
};

class DataMessage : public Message&lt;DataMessage::MessageType&gt;
{
public:
	enum MessageType { /* ... */ };
};
</code></pre>
<p>Ist das nicht möglich, oder wie geht das? Falls nicht, gibt es einen anderen Weg, das gleiche Resultat zu erreichen?</p>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230603/frage-zu-vererbung-amp-templates</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 07:45:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230603.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Dec 2008 17:44:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Vererbung &amp;amp; Templates on Mon, 29 Dec 2008 17:46:58 GMT]]></title><description><![CDATA[<p>Hallo, ich habe folgendes Problem:</p>
<p>Angenommen ich habe eine Templateklasse namens Message mit genau einem Typenparameter. Von dieser Templateklasse möchte ich nun eine Klasse namens DataMessage ableiten, wobei ich für den Typenparameter einen Datentyp einsetzen möchte, den ich erst in der Klasse DataMessage definieren kann, also etwa so:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class Message
{
public:
	Message (const T type, void* pData, const unsigned short nLength);
	virtual ~Message ();

private:
	T m_type;
	void* m_pData;
	unsigned short m_nLength;

public:
	T getType () const { return m_type; }
	void* getData () const { return m_pData; }
	unsigned short getLength () const { return m_nLength; }
};

class DataMessage : public Message&lt;DataMessage::MessageType&gt;
{
public:
	enum MessageType { /* ... */ };
};
</code></pre>
<p>Ist das nicht möglich, oder wie geht das? Falls nicht, gibt es einen anderen Weg, das gleiche Resultat zu erreichen?</p>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1636947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1636947</guid><dc:creator><![CDATA[the*V*oid]]></dc:creator><pubDate>Mon, 29 Dec 2008 17:46:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vererbung &amp;amp; Templates on Mon, 29 Dec 2008 18:07:48 GMT]]></title><description><![CDATA[<p>Ist nicht besonders hübsch, sollte aber klappen...</p>
<pre><code class="language-cpp">class bar
{
public:
    enum MessageType { /* ... */ };
}

class DataMessage : public bar,public Message&lt;bar::MessageType&gt;
{
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1636953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1636953</guid><dc:creator><![CDATA[RudolfRenntier]]></dc:creator><pubDate>Mon, 29 Dec 2008 18:07:48 GMT</pubDate></item></channel></rss>