<?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[arrays und vererbung]]></title><description><![CDATA[<p>folgende Frage beschäftigte mich diese nacht:</p>
<pre><code class="language-cpp">class eins 
{
};
class zwei: eins
{
};
class drei : eins
{
};

main ()
{
eins feld[100];
zwei test1;
drei test2;
//geht folgendes:
feld [1] = test1;
feld [2] = test2;
}
</code></pre>
<p>und zusätzlich die Frage: (habe schon etwas gegooglet und bin nur auf lange Texte gestoßen) kann man während des Laufes die größe einer Array ändern?<br />
und zum meinem Beispiel, wäre eine Liste sinnvoller? wenn ja wieso?</p>
<p>liebe Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223485/arrays-und-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 23:47:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223485.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Sep 2008 13:22:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to arrays und vererbung on Fri, 26 Sep 2008 13:22:52 GMT]]></title><description><![CDATA[<p>folgende Frage beschäftigte mich diese nacht:</p>
<pre><code class="language-cpp">class eins 
{
};
class zwei: eins
{
};
class drei : eins
{
};

main ()
{
eins feld[100];
zwei test1;
drei test2;
//geht folgendes:
feld [1] = test1;
feld [2] = test2;
}
</code></pre>
<p>und zusätzlich die Frage: (habe schon etwas gegooglet und bin nur auf lange Texte gestoßen) kann man während des Laufes die größe einer Array ändern?<br />
und zum meinem Beispiel, wäre eine Liste sinnvoller? wenn ja wieso?</p>
<p>liebe Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588468</guid><dc:creator><![CDATA[d00j1]]></dc:creator><pubDate>Fri, 26 Sep 2008 13:22:52 GMT</pubDate></item><item><title><![CDATA[Reply to arrays und vererbung on Fri, 26 Sep 2008 13:48:39 GMT]]></title><description><![CDATA[<p>Ja, es ist möglich, macht aber wahrscheinlich nicht das, was du möchtest. Du kannst nämlich auch folgendes machen</p>
<pre><code class="language-cpp">class eins
{
};

//Ich nehme an, du meintest public-Vererbung
class zwei: public eins
{
};

int main ()
{
    eins foo;
    zwei bar;
    foo = bar;
}
</code></pre>
<p>Das geht deshalb, weil public-Vererbung &quot;ist ein&quot; bedeutet, das heißt jedes Objekt der abgeleiteten Klasse &quot;ist&quot; auch ein Objekt der Basisklasse, bzw. kann implizit in eins konvertiert werden. Das ist auch genau das, was hier passiert. bar wird als Objekt der Klasse eins interpretiert und <strong>nur dieser Anteil</strong> wird dann in das Objekt foo kopiert. Das nennt man Slicing, weil dabei die zusätzlichen Eigenschaften der abgeleiteten Klasse verloren gehen.</p>
<p>Was du wahrscheinlich lieber haben würdest, wäre ein Array (oder eine Liste, siehe unten) von <strong>Zeiger</strong> auf Objekte der Basisklasse. Dann kann nämlich auch (die Adresse) von Objekten der abgeleiteten Klasse darin gespeichert werden und (zum Beispiel durch virtuelle Methoden) können immer noch die Eigenschaften der abgeleiteten Klasse verwendet werden.</p>
<p>Zu der Frage mit dem Array: Zur Laufzeit kannst du die Größe eines <strong>Arrays</strong> nicht ändern (außer indem du ein neues anlegst und dann die Daten rüberkopierst). Du kannst aber std::list oder std::vector benutzen, je nachdem, was für deine Zwecke besser geeignet ist.</p>
<p>std::vector ist mehr wie ein Array, dessen Größe sich zur Laufzeit verändern kann, das heißt, man kann unter anderem den Index-operator wie bei Arrays verwenden. Bei Listen kann man dagegen besser einfügen und löschen, hat dafür aber keinen random access (das heißt keinen Indexoperator).</p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588483</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Fri, 26 Sep 2008 13:48:39 GMT</pubDate></item></channel></rss>