<?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[Iterator für Klasse implementieren]]></title><description><![CDATA[<p>Hi, ich möchte für meine Klasse MyClass einen Iterator implementieren. Allerdings geht der folgende Code schon nicht, weil wie ich vermute wohl MyIterator auch dem globalen namespace bekannt sein muss. Was muss ich abändern damit es funktioniert?</p>
<pre><code class="language-cpp">class Iterator
{
};

template&lt;class T&gt;
class MyClass
{
public:
	typedef Iterator MyIterator;

	MyIterator GetIterator();
};

template&lt;class T&gt;
MyIterator MyClass&lt;T&gt;::GetIterator()
{
	return MyIterator();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/293119/iterator-für-klasse-implementieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 11:39:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293119.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Sep 2011 00:07:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 00:07:32 GMT]]></title><description><![CDATA[<p>Hi, ich möchte für meine Klasse MyClass einen Iterator implementieren. Allerdings geht der folgende Code schon nicht, weil wie ich vermute wohl MyIterator auch dem globalen namespace bekannt sein muss. Was muss ich abändern damit es funktioniert?</p>
<pre><code class="language-cpp">class Iterator
{
};

template&lt;class T&gt;
class MyClass
{
public:
	typedef Iterator MyIterator;

	MyIterator GetIterator();
};

template&lt;class T&gt;
MyIterator MyClass&lt;T&gt;::GetIterator()
{
	return MyIterator();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2123661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123661</guid><dc:creator><![CDATA[IteratorClass]]></dc:creator><pubDate>Mon, 26 Sep 2011 00:07:32 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 00:31:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Iterator
{
};

template&lt;class T&gt;
class MyClass
{
public:
    typedef Iterator MyIterator;

    MyIterator GetIterator();
};

template&lt;class T&gt;
typename MyClass&lt;T&gt;::MyIterator MyClass&lt;T&gt;::GetIterator()
{
    return MyIterator();
}

int main()
{}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2123663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123663</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Mon, 26 Sep 2011 00:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 00:45:57 GMT]]></title><description><![CDATA[<p>Danke dir, funktioniert jetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123666</guid><dc:creator><![CDATA[IteratorClass]]></dc:creator><pubDate>Mon, 26 Sep 2011 00:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 09:05:05 GMT]]></title><description><![CDATA[<p>Eigene Iteratoren bauen ist auch viel Schreibarbeit. Da kann man sich einiges sparen mit der <a href="http://www.boost.org/doc/libs/1_47_0/libs/iterator/doc/index.html#iterator-facade-and-adaptor" rel="nofollow">Boost.Iterator-Bibliothek</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123736</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 26 Sep 2011 09:05:05 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 18:25:26 GMT]]></title><description><![CDATA[<p>Hi, nochmal ein Problem. Und zwar erzeugt das Typedef in der MyContainer-Klasse einen Fehler. Jemand eine Idee ob man das zum Laufen bekommen kann?</p>
<pre><code class="language-cpp">template &lt;typename T, template&lt;typename&gt; class U&gt;
class Iterator : public Object
{
public:
	Iterator&lt;T, U&gt;();
};

template &lt;typename T, template&lt;typename&gt; class U&gt;
Iterator&lt;T, U&gt;::Iterator()
{
}

template&lt;class T&gt;
class MyContainer
{
public:
    // Die folgende Zeile erzeugt einen Fehler
    // error C3200: 'MyContainer&lt;T&gt;': Ungültiges Vorlagenargument für den Vorlagenparameter 'U'; Klassenvorlage erwartet
	typedef Iterator&lt;T, MyContainer&gt; MyIterator;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2124023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2124023</guid><dc:creator><![CDATA[IteratorClass]]></dc:creator><pubDate>Mon, 26 Sep 2011 18:25:26 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 18:36:57 GMT]]></title><description><![CDATA[<p>Was soll denn das werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2124029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2124029</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 26 Sep 2011 18:36:57 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 18:50:29 GMT]]></title><description><![CDATA[<p>Wie man am typedef sehen kann möchte ich eine Iterator Klasse haben der man sowohl den VariablenTyp T als auch den Containertyp U übergeben können soll.<br />
Damit würde ich mir die von krümelkacker erwähnte Schreibarbeit sparen da die Klasse für alle meine Arraybasierten Container verwendet werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2124037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2124037</guid><dc:creator><![CDATA[IteratorClass]]></dc:creator><pubDate>Mon, 26 Sep 2011 18:50:29 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 20:34:19 GMT]]></title><description><![CDATA[<p>Also im gcc gehts so: <a href="http://ideone.com/WBF1h" rel="nofollow">http://ideone.com/WBF1h</a><br />
Vielleicht hilft eine Vorwärtsdeklaration von MyContainer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2124079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2124079</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Mon, 26 Sep 2011 20:34:19 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Mon, 26 Sep 2011 22:26:42 GMT]]></title><description><![CDATA[<p>Mhh, ist ja merkwürdig. Mit Vorwärtsdeklaration für MyContainer geht es (unter Visual Studio 2010) leider auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2124123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2124123</guid><dc:creator><![CDATA[IteratorClass]]></dc:creator><pubDate>Mon, 26 Sep 2011 22:26:42 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator für Klasse implementieren on Tue, 27 Sep 2011 10:51:56 GMT]]></title><description><![CDATA[<p>So oder so sieht's recht komisch aus, was Du aufgeschrieben hast. Man kann Dir aber keine besseren Alternativen vorstellen, weil Du zu wenig Informationen gegeben hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2124273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2124273</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 27 Sep 2011 10:51:56 GMT</pubDate></item></channel></rss>