<?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[Zeiger von abgeleiteten Klassen mit gleicher Adresse]]></title><description><![CDATA[<p>Ich habe eine Klasse von einer anderen abgeleitet und nun von der abgeleiteten Klasse einen Zeiger erstellt. Diesen möchte ich nun auf ein Objekt der Basisklasse zeigen lassen, wobei ich auch nur die Eigenschaften der Basisklasse benutzen möchte. Der Zeiger soll vollen Zugriff auf die Funktionen und Variablen des Objekts der Basisklasse besitzen.</p>
<p>Bsp:</p>
<pre><code class="language-cpp">class Base
{
  Base() { var = 0; }
  int var;
};

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

int main()
{
  Base b;
  Derived *pD;
  pD = &amp;b;                     //dies gibt einen Fehler und soll nur grob verdeutlichen, was ich meine
  pD-&gt;var = 5;                 //nun soll der Member var von b 5 sein
}
</code></pre>
<p>Ich halte es für eher unwahrscheinlich, dass es eine Möglichkeit gibt, Zeile 16 durch etwas synonymes zu ersetzen, aber vielleicht gibt es eine andere Möglichkeit, um dies zu erreichen. Ich brauche dies, da ich einen vector mit verschiedenen Typen gefüllt habe (bisher mit zweien), die allerdings voneinander abgeleitet sind (ich habe dies über unions erreicht). Wenn ich nun in einer Funktion nur einen Zeiger der abgeleiteten Klasse erstelle, weil ich nunmal auf deren Eigenschaften zurgeifen möchte und weise diesem Zeiger ein Element des vectors zu, in dem die Basisklasse gespeichert ist, so möchte ich, dass der Zeiger ganz normal auf die Member der Basisklasse zugreifen kann (die neuen Member der abgeleiteten Klasse hätten dann automatisch einen Standardwert, der im Konstruktor festgelegt wird). Ich könnte natürlich auch noch einen Zeiger der Basisklasse erstellen, dies würde aber umständlicher sein und außerdem verbraucht es mehr Speicher.<br />
Hat vielleicht jemand eine Idee, das umzusetzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229881/zeiger-von-abgeleiteten-klassen-mit-gleicher-adresse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 16:47:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229881.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Dec 2008 18:42:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 18:42:30 GMT]]></title><description><![CDATA[<p>Ich habe eine Klasse von einer anderen abgeleitet und nun von der abgeleiteten Klasse einen Zeiger erstellt. Diesen möchte ich nun auf ein Objekt der Basisklasse zeigen lassen, wobei ich auch nur die Eigenschaften der Basisklasse benutzen möchte. Der Zeiger soll vollen Zugriff auf die Funktionen und Variablen des Objekts der Basisklasse besitzen.</p>
<p>Bsp:</p>
<pre><code class="language-cpp">class Base
{
  Base() { var = 0; }
  int var;
};

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

int main()
{
  Base b;
  Derived *pD;
  pD = &amp;b;                     //dies gibt einen Fehler und soll nur grob verdeutlichen, was ich meine
  pD-&gt;var = 5;                 //nun soll der Member var von b 5 sein
}
</code></pre>
<p>Ich halte es für eher unwahrscheinlich, dass es eine Möglichkeit gibt, Zeile 16 durch etwas synonymes zu ersetzen, aber vielleicht gibt es eine andere Möglichkeit, um dies zu erreichen. Ich brauche dies, da ich einen vector mit verschiedenen Typen gefüllt habe (bisher mit zweien), die allerdings voneinander abgeleitet sind (ich habe dies über unions erreicht). Wenn ich nun in einer Funktion nur einen Zeiger der abgeleiteten Klasse erstelle, weil ich nunmal auf deren Eigenschaften zurgeifen möchte und weise diesem Zeiger ein Element des vectors zu, in dem die Basisklasse gespeichert ist, so möchte ich, dass der Zeiger ganz normal auf die Member der Basisklasse zugreifen kann (die neuen Member der abgeleiteten Klasse hätten dann automatisch einen Standardwert, der im Konstruktor festgelegt wird). Ich könnte natürlich auch noch einen Zeiger der Basisklasse erstellen, dies würde aber umständlicher sein und außerdem verbraucht es mehr Speicher.<br />
Hat vielleicht jemand eine Idee, das umzusetzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632014</guid><dc:creator><![CDATA[King_Luc]]></dc:creator><pubDate>Wed, 17 Dec 2008 18:42:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 18:49:11 GMT]]></title><description><![CDATA[<p>Also ich hätte eine Idee, habe aber keine Ahnung, ob das funktioniert, geschweige denn, ob das überhaupt erlaubt ist:</p>
<p>Packe beide Klassen in eine Union und lass den Zeiger auf diese union zeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632018</guid><dc:creator><![CDATA[Don Quijote]]></dc:creator><pubDate>Wed, 17 Dec 2008 18:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 18:59:54 GMT]]></title><description><![CDATA[<p>Wenns unbedingt sein muss, machste halt ein Cast..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632027</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 17 Dec 2008 18:59:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 19:01:19 GMT]]></title><description><![CDATA[<p>Zunächst einmal, Finger weg von Unions. Merk dir am besten einfach, daß Unions nur POD-Typen (int, float, etc.) enthalten dürfen, aber keine Klassen (Ausnahmen gibt es zwar, die tun hier aber nichts zur Sache). Und fast immer gibt es bessere Lösungen als Unions.</p>
<p>Wenn du in einem Vektor Objekte von mehreren verschiedenen Klassen speichern möchtest, die alle eine gemeinsame Basisklasse haben, dann solltest du einen <code>std::vector&lt;Base *&gt;</code> verwenden, und die Objekte selbst mit <code>new</code> allokieren.</p>
<p>Außerdem wirfst du in deinem Text ein bißchen Objekte und Zeiger durcheinander. Ein Objekt hat immer nur einen Typ, entweder Base oder Derived, egal welche Sorte von Zeiger du gerade auf das Objekt hältst. Wenn du wirklich von <code>Base*</code> nach <code>Derived*</code> casten mußt, dann wäre <code>dynamic_cast</code> das Stichwort. Aber auch da gilt wieder, daß das bei einem sauberen Design in den wenigsten Fällen nötig sein sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632028</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Wed, 17 Dec 2008 19:01:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 19:02:54 GMT]]></title><description><![CDATA[<p>Dein Text und dein Code widersprechen sich. Im Text redest du davon, dass du den Zeiger auf die abgeleitete Klasse in einen Zeiger auf die Basisklasse verändern möchtest, im Code zeigst du uns dann schön die andere Richtung. Die Basisklasse ist die, von der du ableitest. Die abgeleitete Klasse entsteht durch Ableitung aus einer Basisklasse.<br />
Was du möchtest, ist ein Cast, der potenziell nur für eine kleine Anzahl von Zeigern auf die Basisklasse gültig ist. Jede &quot;abgeleitete Klasse&quot; ist auch eine &quot;Basisklasse&quot;, aber der Umkehrschluss ist natürlich nicht gültig, sobald du die Basisklasse auch separat verwendest oder mehrere verschiedene Klassen von der Basisklasse abgeleitet sind.<br />
Zu diesem Zweck bietet C++ den dynamic_cast, welcher entweder einen gültigen Zeiger zurückliefert, falls der Cast gültig war, oder einen Null-Zeiger. Dieser Cast wird erst während der Laufzeit durchgeführt und ist natürlich ziemlich aufwendig, weil dafür für alle Objekte zur Laufzeit deren Typinformation benötigt wird und verglichen werden muss (Bei allen anderen Casts ist das nicht nötig, weil dort schon während der Compilierzeit die Gültigkeit überprüft werden kann oder erst gar keine Überprüfung stattfindet).</p>
<p>Viele Grüße,<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632030</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 17 Dec 2008 19:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 20:12:32 GMT]]></title><description><![CDATA[<p>Vielen Dank erst mal für die schnellen Antworten.</p>
<p>Wenn ich einen Vektor std::vector&lt;Base *&gt; erstelle und dort dann per Polymorphie verschiedene abgeleitete Objekte &quot;reinstecke&quot;, dann kann ich mit dynamic_cast nur das abgeleitete Objekt bekommen, wenn es auch wirklich auf diese abgeleitete Klasse zeigt. Es wäre sehr bequem, wenn ich die Objekte in dem Vektor beliebig in andere Typen konvertieren könnte, allerdings so, dass ich trotzdem auf den gleichen Ort zeige und direkt darauf zugreifen kann. Ich halte es inzwischen allerdings unwahrscheinlich, dass das möglich ist.<br />
Ich werde es also so machen, wie ihr vorgeschlagen habt. Das ist natürlich ein wenig umständlicher.</p>
<p>Decimad schrieb:</p>
<blockquote>
<p>Dieser Cast wird erst während der Laufzeit durchgeführt und ist natürlich ziemlich aufwendig, weil dafür für alle Objekte zur Laufzeit deren Typinformation benötigt wird und verglichen werden muss.</p>
</blockquote>
<p>Ich kenne den dynamic_cast erst seit kurzer Zeit und ich wollte mal fragen, ob es sich nun lohnt, ihn zu benutzen, da er ja anscheinend etwas Zeit verbraucht. Mit unionen, so würde ich vermuten, geht es schneller. Man muss dabei natürlich aufpassen, welche Variable man nun benutzt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1632074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632074</guid><dc:creator><![CDATA[King_Luc]]></dc:creator><pubDate>Wed, 17 Dec 2008 20:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 20:28:03 GMT]]></title><description><![CDATA[<p>King_Luc schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Base b;
  Derived *pD;
  pD = &amp;b;                     //dies gibt einen Fehler und soll nur grob verdeutlichen, was ich meine
</code></pre>
</blockquote>
<p>Polymorphie hat den Sinn, einen Zeiger oder eine Referenz auf eine Basisklasse zu haben, der/die generische Funktionalität besitzt. Das heisst, hinter dem Zeiger/der Referenz muss sich nicht umbedingt tatsächlich eine Basisklasse befinden; eine abgeleitete ist auch möglich. Was du versuchst, ist jedoch das Umgekehrte.</p>
<p>King_Luc schrieb:</p>
<blockquote>
<p>Es wäre sehr bequem, wenn ich die Objekte in dem Vektor beliebig in andere Typen konvertieren könnte, allerdings so, dass ich trotzdem auf den gleichen Ort zeige und direkt darauf zugreifen kann. Ich halte es inzwischen allerdings unwahrscheinlich, dass das möglich ist.</p>
</blockquote>
<p>Du kannst die Zeiger schon so hinbiegen, dass sie auf irgendein Objekt zeigen. Nur führt das weder zu definiertem Verhalten noch hat es sonst einen Sinn.</p>
<p>King_Luc schrieb:</p>
<blockquote>
<p>Ich kenne den dynamic_cast erst seit kurzer Zeit und ich wollte mal fragen, ob es sich nun lohnt, ihn zu benutzen, da er ja anscheinend etwas Zeit verbraucht. Mit unionen, so würde ich vermuten, geht es schneller. Man muss dabei natürlich aufpassen, welche Variable man nun benutzt <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>
</blockquote>
<p>Du solltest erst auf Performance achten, wenn du wirklich merkst, dass es nötig ist. Wie gesagt, benutze keine Unions in C++. Für Non-PODs geht das sowieso nicht, und selbst für PODs wirst du sie kaum brauchen.</p>
<p>Unabhängig davon ist auch <code>dynamic_cast</code> nicht eine sehr schöne Lösung. Das meiste kann man mit virtuellen Funktionen erreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632082</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 17 Dec 2008 20:28:03 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 20:32:05 GMT]]></title><description><![CDATA[<p>Der dynamic-Cast ist ja etwas vollständig anderes als Unions. Bei Unions hast du unterschiedliche Objekte an ein und derselben Stelle zu unterschiedlichen Zeiten im Speicher während sich der Dynamic-Cast auf Klassenhierarchien bezieht. Unions verwendet man daher an Stellen, wo die einzelnen Objekte aber auch wirklich gar nichts miteinander zu tun haben (Und dann ist fraglich, warum sie überhaupt an einer Stelle stehen sollen), dynamic_cast's, wo man, für ansonsten über Basisklassen angesprochene Objekte, irgendwann doch mal als Spezialfall eine Sonderbehandlung braucht (beispielsweise um dynamische Dinge benutzerfreundlicher darzustellen, ohne die Basisklassenschnittstelle für einen Typ unnötig aufzuplustern. Naja, zumindest handhabe ich das so <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="😉"
    /><br />
Während du einen Zeiger durch eine Klassenhierarchie castest, bleibt der Zeiger vom Wert her (also der Addresse im Speicher) nicht zwangsweise (oder eher selten) gleich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632084</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 17 Dec 2008 20:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 21:23:28 GMT]]></title><description><![CDATA[<p>King_Luc schrieb:</p>
<blockquote>
<p>Es wäre sehr bequem, wenn ich die Objekte in dem Vektor beliebig in andere Typen konvertieren könnte, allerdings so, dass ich trotzdem auf den gleichen Ort zeige und direkt darauf zugreifen kann.</p>
</blockquote>
<p>Da stellt sich doch erstmal die Frage, warum die Objekte dann überhaupt von verschiedenen Klassen sind. Wenn die Objekte einander so ähnlich sind, daß sie beliebig hin- und herkonvertiert werden können, warum gehören sie dann nicht auch alle zu ein und derselben Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632123</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Wed, 17 Dec 2008 21:23:28 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 21:29:02 GMT]]></title><description><![CDATA[<p>King_Luc schrieb:</p>
<blockquote>
<p>Ich habe eine Klasse von einer anderen abgeleitet und nun von der abgeleiteten Klasse einen Zeiger erstellt. Diesen möchte ich nun auf ein Objekt der Basisklasse zeigen lassen, wobei ich auch nur die Eigenschaften der Basisklasse benutzen möchte. Der Zeiger soll vollen Zugriff auf die Funktionen und Variablen des Objekts der Basisklasse besitzen.</p>
</blockquote>
<p>Dies geht grundsätzlich nicht, und macht auch keinen Sinn. Das hat alleine schon mit dem Speicherlayout zu tun. Wenn du ein Objekt der Basisklasse auf einen Zeiger auf eine davon Abgeleitete Klasse umbiegst (C-Cast und reinterpret_cast sollten das an sich ermöglichen), so ist ein Zugriff auf diesen Zeiger schlicht und ergreifend kritisch zu nennen.</p>
<p>Was soll bitteschön passieren, wenn du auf eine Methode/Member zugreift die nicht zu der Basisklasse gehört? Das Verhalten ist undefiniert. Es könnte deine Festplatte formatieren, einfach nur einen dahinterliegenden Speicherbereich als Wert interpretieren...</p>
<p>Basisklassen dienen nicht dazu auf untergeordnete Klassen zu verweisen, sondern um als gemeinsame Schnittstelle von davon abgeleiteten zu dienen.</p>
<p>Davon abgesehen noch ein paar andere Punkte:<br />
a) Zugriffsmodifikatoren hast du wohl in der Eile vergessen (public:...)<br />
b) Ich würde Membervariablen möglichst nicht öffentlich deklarieren, selbst Setter/Getter die nichts anderes als den Zugriff weiterleiten haben einen Vorteil: Du kannst später noch einen Zugriffsschutz oder Bereichsüberprüfungen ohne große Codeänderung einfügen.<br />
c) Basisklassen sollten im Regelfall immer über einen virtuellen Destruktor verfügen.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632128</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Dec 2008 21:29:02 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 21:43:52 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>c) Basisklassen sollten im Regelfall immer über einen virtuellen Destruktor verfügen.</p>
</blockquote>
<p>... wenn sie in polymorphen Kontexten benötigt werden. <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/1632137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632137</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 17 Dec 2008 21:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 23:17:25 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>c) Basisklassen sollten im Regelfall immer über einen virtuellen Destruktor verfügen.</p>
</blockquote>
<p>... wenn sie in polymorphen Kontexten benötigt werden. <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>
</blockquote>
<p>Was zumindestens bei mir der Regelfall ist (und ansonsten sollte man wenigstens die Regel mit dem private-Konstruktor einhalten, den unbedachtes &quot;Vergessen&quot; ist nicht unüblich...).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632181</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Dec 2008 23:17:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Wed, 17 Dec 2008 23:19:42 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Wenns unbedingt sein muss, machste halt <strong>ein</strong> Cast..</p>
</blockquote>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-229749.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-229749.html</a></p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632183</guid><dc:creator><![CDATA[Dumm?]]></dc:creator><pubDate>Wed, 17 Dec 2008 23:19:42 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Thu, 18 Dec 2008 05:32:21 GMT]]></title><description><![CDATA[<p>Ok ich werd's jetzt ganz normal über Polymorphie machen.<br />
Am Anfang hatte ich nur eine Klasse, was natürlich kein Problem war. Da ich aber meistens von diesem Typ nur grundlegende Variablen und Funktionen benutzt habe, habe ich noch eine Basisklassse erstellt, die wirklich nur diese paar Variablen erhählt, um nicht so viel Speicher zu verbrauchen. Daraus ergab sich das Problem mit dem Vektor. Ein Freund von mit hat mir Union vorgestellt, was mir da als eine ganz sinnvolle Möglichkeit hielt (ich kannte den dynamic_cast noch nicht). Anscheinend sind diese wohl nicht sinnvoll, also muss ich mein Programm umwandeln.</p>
<p>Inzwischen ist mir aufgefallen, dass es nicht viel aufwendiger ist, und dass es wirklich keinen Sinn hat, teilweise auf Eigenschaften eines Objekts zugreifen zu wollen, die dieses eigentlich nicht besitzt.</p>
<p>Danke für die vielen und hilfreichen Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632232</guid><dc:creator><![CDATA[King_Luc]]></dc:creator><pubDate>Thu, 18 Dec 2008 05:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Thu, 18 Dec 2008 13:06:32 GMT]]></title><description><![CDATA[<p>.<br />
(EDIT: hat sich erledigt - hätte erstmal das letzte posting lesen sollen *pfeiff*)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1632363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1632363</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 18 Dec 2008 13:06:32 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger von abgeleiteten Klassen mit gleicher Adresse on Thu, 15 Jan 2009 19:07:29 GMT]]></title><description><![CDATA[<p>mammamia;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646499</guid><dc:creator><![CDATA[jtsfds53]]></dc:creator><pubDate>Thu, 15 Jan 2009 19:07:29 GMT</pubDate></item></channel></rss>