<?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 abliten von abstrakter (template)-klasse]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich stosse wieder auf probleme beim erstellen meiner Templates.<br />
Ich habe mirt eine abstrakte (template)-Klasse erstellt und leite davon eine andere ab. leider bekomme ich immer einen Fehler, den ich nicht weg bekomme.</p>
<pre><code>template &lt;class T&gt;
class TVertexBuffer
{
	protected:
		T* pVertices;
		unsigned int iVertices;
	public:		
		TVertexBuffer();
		virtual unsigned int create(unsigned int iVertices, unsigned char iVertexSize, DWORD iVertexFormat) = 0;
		virtual void *lock(unsigned int iOffset, unsigned int iSize, DWORD iLockFlags)= 0;
		virtual void unlock() = 0;

};
</code></pre>
<p>davon leite ich nun eine klasse ab:</p>
<pre><code>template &lt;class T&gt;
class TDXVertexBuffer : public TVertexBuffer&lt;T&gt;
{
	public:
		TDXVertexBuffer();
		virtual HRESULT create(unsigned int iVertices, DWORD iVertexFormat);
		virtual void *lock(unsigned int iOffset, unsigned int iSize, DWORD iLockFlags) { int i = 10;}
		virtual void unlock() { int i = 10;}

};
template &lt;class T&gt;
HRESULT TDXVertexBuffer&lt;T&gt;::create(unsigned int iVertices, DWORD iVertexFormat)
{
// .....Code ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/171915/template-abliten-von-abstrakter-template-klasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 14:10:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171915.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Jan 2007 15:26:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 15:26:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich stosse wieder auf probleme beim erstellen meiner Templates.<br />
Ich habe mirt eine abstrakte (template)-Klasse erstellt und leite davon eine andere ab. leider bekomme ich immer einen Fehler, den ich nicht weg bekomme.</p>
<pre><code>template &lt;class T&gt;
class TVertexBuffer
{
	protected:
		T* pVertices;
		unsigned int iVertices;
	public:		
		TVertexBuffer();
		virtual unsigned int create(unsigned int iVertices, unsigned char iVertexSize, DWORD iVertexFormat) = 0;
		virtual void *lock(unsigned int iOffset, unsigned int iSize, DWORD iLockFlags)= 0;
		virtual void unlock() = 0;

};
</code></pre>
<p>davon leite ich nun eine klasse ab:</p>
<pre><code>template &lt;class T&gt;
class TDXVertexBuffer : public TVertexBuffer&lt;T&gt;
{
	public:
		TDXVertexBuffer();
		virtual HRESULT create(unsigned int iVertices, DWORD iVertexFormat);
		virtual void *lock(unsigned int iOffset, unsigned int iSize, DWORD iLockFlags) { int i = 10;}
		virtual void unlock() { int i = 10;}

};
template &lt;class T&gt;
HRESULT TDXVertexBuffer&lt;T&gt;::create(unsigned int iVertices, DWORD iVertexFormat)
{
// .....Code ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1219918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219918</guid><dc:creator><![CDATA[TUser]]></dc:creator><pubDate>Tue, 30 Jan 2007 15:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 15:29:45 GMT]]></title><description><![CDATA[<p>..<br />
wenn ich nun (in meinem hauptprogramm <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="😉"
    /> ) mittels</p>
<p>TDXVertexBuffer&lt;cVertexTex&gt; oVB;</p>
<p>versuche eine Instanz zu erzeugen, bekomme ich immer die Fehlermeldung:<br />
error C2259: 'TDXVertexBuffer&lt;T&gt;': Instanz von abstrakter Klasse kann nicht erstellt werden with [ T=cVertexTex ]</p>
<p>verstehe ich nicht. die klasse TDXVertexBuffer ist doch die abgeleitete. und da sind alle funktionen implementiert; also keine abstakte klasse.</p>
<p>was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219925</guid><dc:creator><![CDATA[TUser]]></dc:creator><pubDate>Tue, 30 Jan 2007 15:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 15:46:23 GMT]]></title><description><![CDATA[<p>was ist mit</p>
<pre><code class="language-cpp">virtual unsigned int create(unsigned int iVertices, unsigned char iVertexSize, DWORD iVertexFormat) = 0;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1219943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219943</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 30 Jan 2007 15:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 15:50:19 GMT]]></title><description><![CDATA[<p>hatte das noch aus versehen im code wegen den vielen änderungn und hin/her-kopiereri drin.<br />
habs schon geändert, gibt aber immer noch den fehler.</p>
<p>lustig ist es wenn ich nun nur das</p>
<pre><code>: public TVertexBuffer&lt;T&gt;
</code></pre>
<p>aus der Zeile</p>
<pre><code>class TDXVertexBuffer : public TVertexBuffer&lt;T&gt;
</code></pre>
<p>wegnehme. funktioniert es. sobald ich ableite nimmer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219950</guid><dc:creator><![CDATA[TUser]]></dc:creator><pubDate>Tue, 30 Jan 2007 15:50:19 GMT</pubDate></item><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 15:53:59 GMT]]></title><description><![CDATA[<pre><code>template &lt;class T&gt;
class TVertexBuffer
{
	protected:
		DWORD iFVFFormat;
		T* pVertices;
		unsigned int iVertices;
		//unsigned char iVertexSize, iColorSize;
	public:		
		TVertexBuffer();
		virtual unsigned int create(unsigned int iVertices, unsigned char iVertexSize, DWORD iVertexFormat) = 0;
		virtual void *lock(unsigned int iOffset, unsigned int iSize, DWORD iLockFlags)= 0;
		virtual void unlock() = 0;

};

template &lt;class T&gt;
class TDXVertexBuffer : public TVertexBuffer&lt;T&gt;
{
	public:
		TDXVertexBuffer() {}
		virtual unsigned int create(unsigned int iVertices, DWORD iVertexFormat);
		virtual void *lock(unsigned int iOffset, unsigned int iSize, DWORD iLockFlags) { int i = 10; return(NULL); }
		virtual void unlock() { int i = 10;}

};

template &lt;class T&gt;
unsigned int TDXVertexBuffer&lt;T&gt;::create(unsigned int iVertices, DWORD iVertexFormat)
{

/*	HRESULT iErrorCode;
	this-&gt;iFVFFormat  = iVertexFormat;
	unsigned int iSize = iVertexSize * iVertices;
	if (pVertices != NULL)
		delete[] pVertices;
	pVertices = new T[iVertices];
	//pColors = new unsigned char[iVertices * iColorSize];
	this-&gt;iVertices = iVertices;
	iErrorCode = ((cDX_Device *)pGfxDevice)-&gt;pDevice-&gt;CreateVertexBuffer(iSize, D3DUSAGE_WRITEONLY, iVertexFormat,
            D3DPOOL_MANAGED, &amp;oVB, NULL );
	return(iErrorCode);*/
	return(0);
}
</code></pre>
<p>im Hauptprogramm dann:</p>
<pre><code>TDXVertexBuffer&lt;cVertexTex&gt; oVB;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1219959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219959</guid><dc:creator><![CDATA[TUser]]></dc:creator><pubDate>Tue, 30 Jan 2007 15:53:59 GMT</pubDate></item><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 16:00:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">virtual unsigned int create(unsigned int iVertices, unsigned char iVertexSize, DWORD iVertexFormat) = 0;
...
        virtual unsigned int create(unsigned int iVertices, DWORD iVertexFormat);
</code></pre>
<p>Was fällt dir auf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219966</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Tue, 30 Jan 2007 16:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to Template abliten von abstrakter (template)-klasse on Tue, 30 Jan 2007 16:05:52 GMT]]></title><description><![CDATA[<p>arggs ich däm.......</p>
<p>hab ich irgendwie völlig übersehen.<br />
danke dir für die schnelle hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219968</guid><dc:creator><![CDATA[TUser]]></dc:creator><pubDate>Tue, 30 Jan 2007 16:05:52 GMT</pubDate></item></channel></rss>