<?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[Objektinstanzierung in Abhängigkeit von Dateiinhalt]]></title><description><![CDATA[<p>Ich möchte eine Binärdatei einlesen und den Inhalt in ein Array von Objekten umsetzen. Alle möglichen Objekte sind von der selben abstrakten Basisklasse abgeleitet.</p>
<p>Welches Objekt erstellt werden soll, geht aus der Datei anhand eines bestimmten Integer-Wertes hervor. Allerdings ist mir nicht klar, wie ich es anstellen soll, dass mit dem ausgelesenen Wert auch das richtige Objekt erzeugt wird. Gibt es da irgendwelche Standard-Lösungen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201055/objektinstanzierung-in-abhängigkeit-von-dateiinhalt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 11:48:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201055.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Dec 2007 17:46:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objektinstanzierung in Abhängigkeit von Dateiinhalt on Sun, 23 Dec 2007 17:46:42 GMT]]></title><description><![CDATA[<p>Ich möchte eine Binärdatei einlesen und den Inhalt in ein Array von Objekten umsetzen. Alle möglichen Objekte sind von der selben abstrakten Basisklasse abgeleitet.</p>
<p>Welches Objekt erstellt werden soll, geht aus der Datei anhand eines bestimmten Integer-Wertes hervor. Allerdings ist mir nicht klar, wie ich es anstellen soll, dass mit dem ausgelesenen Wert auch das richtige Objekt erzeugt wird. Gibt es da irgendwelche Standard-Lösungen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425290</guid><dc:creator><![CDATA[David Schneider]]></dc:creator><pubDate>Sun, 23 Dec 2007 17:46:42 GMT</pubDate></item><item><title><![CDATA[Reply to Objektinstanzierung in Abhängigkeit von Dateiinhalt on Sun, 23 Dec 2007 18:08:25 GMT]]></title><description><![CDATA[<p>folgende lösung wäre wohl am naheliegendsten:</p>
<pre><code class="language-cpp">Basis *b;
if (zahl == x) b = new Derived1;
else b = new Derived2;
</code></pre>
<p>allerdings hängt es natürlich vom jeweiligen design ab, ob nicht vielleicht eine andere lösung besser passen würde. sieh dich mal nach dem <a href="http://de.wikipedia.org/wiki/Abstrakte_Fabrik" rel="nofollow">Fabriksentwurfsmuster</a> um, oder generell nach erzeugungsmustern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425305</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sun, 23 Dec 2007 18:08:25 GMT</pubDate></item><item><title><![CDATA[Reply to Objektinstanzierung in Abhängigkeit von Dateiinhalt on Sun, 23 Dec 2007 22:30:58 GMT]]></title><description><![CDATA[<p>Ich hatte durchaus vor, Fabrikmuster zu benutzen, um dann tatsächlich auch das Objekt zu erstellen. Allerdings habe ich ja dann immer noch das Problem, dass ich anhand eines Integers entscheiden muss, welche Factory jetzt in Aktion treten soll.</p>
<p>Sicherlich lässt sich das mit if-Bedigungen oder einem switch-case-Konstrukt machen, aber da ich im Moment nicht absehen kann, wieviel Auswahl an verwendeten Objekten es später mal geben wird (im Zweifelsfall aber eher mehr), wollte ich sowas eben gerade nicht verwenden. Daher dachte ich an eine Lösung, die irgendwie enums oder defines benutzt, weil ich mir sonst nicht im Entferntesten was anderes vorstellen könnte. Aber da fällt mir wie gesagt derzeit nichts zu ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425416</guid><dc:creator><![CDATA[David Schneider]]></dc:creator><pubDate>Sun, 23 Dec 2007 22:30:58 GMT</pubDate></item><item><title><![CDATA[Reply to Objektinstanzierung in Abhängigkeit von Dateiinhalt on Sun, 23 Dec 2007 22:44:02 GMT]]></title><description><![CDATA[<p>wie wäre es mit prototypen in einer std::map? (oder fabrikmethoden?)</p>
<pre><code class="language-cpp">map&lt;int, creator*&gt; factory;
//...
Base *create_from (int num, Blubb const &amp;data)
{
   return factory[num]-&gt;create(data)
}
</code></pre>
<p>erspart dir switch/case und if.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425423</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sun, 23 Dec 2007 22:44:02 GMT</pubDate></item><item><title><![CDATA[Reply to Objektinstanzierung in Abhängigkeit von Dateiinhalt on Sun, 23 Dec 2007 22:52:59 GMT]]></title><description><![CDATA[<p>Ich kam gerade auf eine ähnliche Idee. Eine irgendwie hantierte Liste aus Prototypen der zu erzeugenden Objekte, oder vielleicht auch aus Factories für diese Objekte (je nachdem, was schneller geht), sollte mein Problem lösen. Es braucht halt leider Platz und Zeit, diese Liste anzulegen und gegebenenfalls nochmal Zeit, sie wieder zu löschen, wenn sie nicht mehr gebraucht wird.</p>
<p>Aber wenn es keine andere Möglichkeit geben sollte, nehme ich die natürlich auch. Ganz unelegant ist sie ja nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425429</guid><dc:creator><![CDATA[David Schneider]]></dc:creator><pubDate>Sun, 23 Dec 2007 22:52:59 GMT</pubDate></item></channel></rss>