<?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[Objekte in Array ablegen]]></title><description><![CDATA[<p>Hallo,<br />
ich suche eine C++-Entsprechung zu dem Objekt ArrayList aus Java. Ich möchte mehrere Objekte in einem Array speichern, so dass ich nachher die Methoden der Objekte nacheinander aufrufen kann. Unter Java ging das (verkürzt) so:</p>
<p>ArrayList liste = new ArrayList;<br />
liste.add(new MeinObjekt(bla)));</p>
<p>Auf ein Objekt in dieser ArrayList kann man dann z.B. so zugreifen:</p>
<p>MeinObjekt test = (MeinObjekt) liste.get(index);</p>
<p>Ich hoffe es ist klar was ich brauche, wie gesagt ich suche eine Möglichkeit, das so änlich (oder besser!) in C++ hinzukriegen. Ein kleines Problem: Unter Java musste ich immer den Objekttyp angeben (casten), da ich aber versch. Objektklassen in diese Liste bringen will, frage ich mich, ie kann man so was machen. Kann man nicht irgendwie automatisch festsellen, von welcher Klasse ein Objekt im Array ist?</p>
<p>Danke für eure Hilfe schonmal,<br />
Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/73470/objekte-in-array-ablegen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 11:27:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/73470.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 May 2004 16:43:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte in Array ablegen on Mon, 10 May 2004 16:43:50 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich suche eine C++-Entsprechung zu dem Objekt ArrayList aus Java. Ich möchte mehrere Objekte in einem Array speichern, so dass ich nachher die Methoden der Objekte nacheinander aufrufen kann. Unter Java ging das (verkürzt) so:</p>
<p>ArrayList liste = new ArrayList;<br />
liste.add(new MeinObjekt(bla)));</p>
<p>Auf ein Objekt in dieser ArrayList kann man dann z.B. so zugreifen:</p>
<p>MeinObjekt test = (MeinObjekt) liste.get(index);</p>
<p>Ich hoffe es ist klar was ich brauche, wie gesagt ich suche eine Möglichkeit, das so änlich (oder besser!) in C++ hinzukriegen. Ein kleines Problem: Unter Java musste ich immer den Objekttyp angeben (casten), da ich aber versch. Objektklassen in diese Liste bringen will, frage ich mich, ie kann man so was machen. Kann man nicht irgendwie automatisch festsellen, von welcher Klasse ein Objekt im Array ist?</p>
<p>Danke für eure Hilfe schonmal,<br />
Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517724</guid><dc:creator><![CDATA[elektrohirn]]></dc:creator><pubDate>Mon, 10 May 2004 16:43:50 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte in Array ablegen on Mon, 10 May 2004 16:50:20 GMT]]></title><description><![CDATA[<p>vector&lt;Foo&gt; vec;</p>
<p>vec.push_back(Foo(a,b,c));</p>
<p>cout&lt;&lt;vec[0];</p>
<p>einfach vector, list, map, deque, etc. verwenden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517728</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Mon, 10 May 2004 16:50:20 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte in Array ablegen on Mon, 10 May 2004 16:55:42 GMT]]></title><description><![CDATA[<p>Danke! So wie ich das verstanden habe ist dieser Vektor dann aber auf Objekte der Klasse Foo beschränkt oder?</p>
<p>Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517732</guid><dc:creator><![CDATA[elektrohirn]]></dc:creator><pubDate>Mon, 10 May 2004 16:55:42 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte in Array ablegen on Mon, 10 May 2004 17:18:25 GMT]]></title><description><![CDATA[<p>elektrohirn schrieb:</p>
<blockquote>
<p>Danke! So wie ich das verstanden habe ist dieser Vektor dann aber auf Objekte der Klasse Foo beschränkt oder?</p>
</blockquote>
<p>Jup.<br />
Eine heterogene Menge kannst du z.B. durch einen Container der &quot;Zeiger-auf-Basisklasse&quot; verwaltet umsetzen.</p>
<blockquote>
<p>Kann man nicht irgendwie automatisch festsellen, von welcher Klasse ein Objekt im Array ist?</p>
</blockquote>
<p>Man kann sowas Fragen wie &quot;Hallo Objekt. Bist du zufällig eine Instanz der Klasse Foo?&quot;. Sowas sollte man sich allerdings möglichst verkneifen. Wenn man den konkreten Typ eines Objekts braucht, ist es äußerst fragwürdig es vorher in eine Container zu packen, der nur Basisklassenzeiger verwaltet.<br />
Sicher das du dein Problem nicht mit virtuellen Methoden bzw. mehreren Containern die konkretere Typen verwalten eleganter lösen kannst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517749</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 10 May 2004 17:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte in Array ablegen on Mon, 10 May 2004 17:37:35 GMT]]></title><description><![CDATA[<p>Ja hab mir auch schon gedacht praktisch für jeden Objekttyp (sind ja nur 6 bei mir) einen eigenen Vektor zu nehmen. Hab's jetzt soweit umgesetzt, bekomme aber immer die Fehlermeldung</p>
<p>cobj_container.h:30: error: ' vector' is used as a type, but is not defined as a type.</p>
<p>meine .h schaut so aus:</p>
<p>#include&lt;cobj_ellipsoid.h&gt;<br />
class cobj_container{<br />
public:<br />
vector&lt;cobj_ellipsoid&gt; cobjects;</p>
<p>public:<br />
cobj_container();<br />
~cobj_container();</p>
<p>void cobj_container::add_cobj(float obj_pos[3], float obj_size[3], float obj_rot[3]);<br />
bool cobj_container::chk_clsn(float chk_pos[3]);<br />
};</p>
<p>#endif</p>
<p>und die entsprechende .cpp sieht so aus:</p>
<p>#include &quot;cobj_ellipsoid.h&quot;<br />
#include &quot;cobj_container.h&quot;</p>
<p>cobj_container::cobj_container()<br />
{<br />
vector&lt;cobj_ellipsoid&gt; cobjects;<br />
}</p>
<p>cobj_container::~cobj_container()<br />
{}</p>
<p>void cobj_container::add_cobj(float obj_pos[3], float obj_size[3], float obj_rot[3])<br />
{<br />
cobjects.push_back(cobj_ellipsoid(obj_pos, obj_size, obj_rot));<br />
}</p>
<p>bool cobj_container::chk_clsn(float chk_pos[3])<br />
{<br />
for(int i = 0; i &lt;= cobjects.size(); i++)<br />
{<br />
cout &lt;&lt; i;<br />
}<br />
return false;<br />
}</p>
<p>Wäre für jede Hilfe dankbar!</p>
<p>Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517764</guid><dc:creator><![CDATA[elektrohirn]]></dc:creator><pubDate>Mon, 10 May 2004 17:37:35 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte in Array ablegen on Mon, 10 May 2004 18:01:09 GMT]]></title><description><![CDATA[<p>vector liegt im namensraum std. Weiters musst du &lt;vector&gt; #includen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517793</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Mon, 10 May 2004 18:01:09 GMT</pubDate></item></channel></rss>