<?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[Kopie einer Basisklasse]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich lese eine Datei mit &quot;Objekten&quot; ein. Da nicht klar ist in welcher Reihenfolge die Attribute in der Datei stehen, speichere ich alle Daten in einer Basisklasse. Alle Objekte haben die gleichen Member, aber unterschiedliche Ausprägungen ihrer Funktionen. Irgendwann kommt dann das Attribut, dass mir sagt um welches Objekt es sich handelt (Bsp. Haus).</p>
<p>Wie kann ich nun die Instanz der Basisklasse in eine Instanz der Haus Klasse umwandeln?</p>
<pre><code>class haus : public base
/* ... */

basis* temp; // &lt;&lt; Pointer auf das Objekt mit den bereits eingelesenen Daten
haus* neu = temp;
</code></pre>
<p>Danke im Voraus<br />
Scarabol</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/297617/kopie-einer-basisklasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 08:24:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297617.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Jan 2012 12:16:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 12:16:40 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich lese eine Datei mit &quot;Objekten&quot; ein. Da nicht klar ist in welcher Reihenfolge die Attribute in der Datei stehen, speichere ich alle Daten in einer Basisklasse. Alle Objekte haben die gleichen Member, aber unterschiedliche Ausprägungen ihrer Funktionen. Irgendwann kommt dann das Attribut, dass mir sagt um welches Objekt es sich handelt (Bsp. Haus).</p>
<p>Wie kann ich nun die Instanz der Basisklasse in eine Instanz der Haus Klasse umwandeln?</p>
<pre><code>class haus : public base
/* ... */

basis* temp; // &lt;&lt; Pointer auf das Objekt mit den bereits eingelesenen Daten
haus* neu = temp;
</code></pre>
<p>Danke im Voraus<br />
Scarabol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163227</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Tue, 03 Jan 2012 12:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 12:23:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Base { };

class Derived: public Base
{
public:
  Derived(Base base): Base(base) {};
};

int main()
{
  Base foo;
  Derived bar = foo;
}
</code></pre>
<p>Dein Design klingt aber nicht sehr sinnvoll. Klingt eher so, als wolltest du freie Funktionen, um die Funktionalität der Basisklasse zu erweitern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163231</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jan 2012 12:23:33 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 12:57:37 GMT]]></title><description><![CDATA[<p>ja stimmt das Design könnte besser sein, kenn mich da leider nicht so gut aus. Hast du Vorschläge?</p>
<p>Gruß<br />
Scarabol</p>
<p>PS:<br />
Danke deine Lösung funktioniert super!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163238</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Tue, 03 Jan 2012 12:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 12:57:42 GMT]]></title><description><![CDATA[<p>Schau dir evtl. mal das <a href="http://en.wikipedia.org/wiki/Builder_pattern" rel="nofollow">Builder Pattern</a> an <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163240</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 Jan 2012 12:57:42 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 13:01:08 GMT]]></title><description><![CDATA[<p>Scarabol schrieb:</p>
<blockquote>
<p>ja stimmt das Design könnte besser sein, kenn mich da leider nicht so gut aus. Hast du Vorschläge?</p>
</blockquote>
<p>Wenn deine abgeleitete Klasse weder neue Member hat, noch virtuelle Funktionen überschreibt, dann ist es eine Funktionserweiterung der Basisklasse. Das ruft, wie schon gesagt, nach freien Funktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163242</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jan 2012 13:01:08 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 13:09:58 GMT]]></title><description><![CDATA[<p>Meine Klasse Haus überschreibt schon eine Funktion der Basisklasse, zählt das nicht?</p>
<p>Mit freien Funktionen meinst du statische?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163246</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Tue, 03 Jan 2012 13:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 13:25:34 GMT]]></title><description><![CDATA[<p>Scarabol schrieb:</p>
<blockquote>
<p>Meine Klasse Haus überschreibt schon eine Funktion der Basisklasse, zählt das nicht?</p>
</blockquote>
<p>Das kann richtig sein. Klang in deinem ersten Beitrag anders.</p>
<blockquote>
<p>Mit freien Funktionen meinst du statische?</p>
</blockquote>
<p>Nein. Ganz frei, ohne zu einer Klasse zu gehören.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163252</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jan 2012 13:25:34 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 13:26:15 GMT]]></title><description><![CDATA[<p>und die sollen mir dann aus meiner Basisklasse ein Haus bauen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163253</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Tue, 03 Jan 2012 13:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 13:28:05 GMT]]></title><description><![CDATA[<p>Scarabol schrieb:</p>
<blockquote>
<p>und die sollen mir dann aus meiner Basisklasse ein Haus bauen?</p>
</blockquote>
<p>Nein. Deine ursprüngliche Beschreibung klingt so, als wäre ein Haus keine Spezialisierung der Basisklasse, weil du nur Funktionen hinzufügst. Dann ist Vererbung das falsche Sprachmittel und du willst eigentlich ein ganz anderes Design, so dass die ganze Frage wie man ein Haus aus einer Basisklasse macht unnötig wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163256</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jan 2012 13:28:05 GMT</pubDate></item><item><title><![CDATA[Reply to Kopie einer Basisklasse on Tue, 03 Jan 2012 23:13:25 GMT]]></title><description><![CDATA[<p>Der erste Ansatz hat super funktioniert, also daher Problem gelöst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>Danke<br />
Scarabol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163480</guid><dc:creator><![CDATA[Scarabol]]></dc:creator><pubDate>Tue, 03 Jan 2012 23:13:25 GMT</pubDate></item></channel></rss>