<?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[Array von Zeigern &#x2F; Polymorphie]]></title><description><![CDATA[<p>Hi,</p>
<p>ich soll eine kleines Programm schreiben, mit einer Oberklasse Konto mit Methoden wie Einzahlung etc.<br />
Dann gibt es zwei weitere Kontoarten wie Giro- und Festgeldkonto welche von der Klasse Konto erben.</p>
<p>Diese Klassen sind bereits in größtenteilen fertig geschrieben.</p>
<p>Allerdings komme ich mit einer Teilaufgabe nicht weiter, da ich nicht weiß, wie ich das anstellen soll. Im Menü gibt es einen Punkt mit dem ich die verschiede Konten anlegen kann.</p>
<p>Aufgabe:<br />
&quot;Konten sollen gespeichert werden, indem ein Array von Zeigern auf Konten verwendet wird und durch Polymorphie auf die jeweilige Methoden der entsprechenden Kontoarten verwiesen wird.&quot;</p>
<p>Evt. kann mir einer bei diesem Teil helfen.</p>
<p>Gruß</p>
<p>Krikus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240187/array-von-zeigern-polymorphie</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 01:52:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240187.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 May 2009 10:53:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Sun, 03 May 2009 10:53:57 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich soll eine kleines Programm schreiben, mit einer Oberklasse Konto mit Methoden wie Einzahlung etc.<br />
Dann gibt es zwei weitere Kontoarten wie Giro- und Festgeldkonto welche von der Klasse Konto erben.</p>
<p>Diese Klassen sind bereits in größtenteilen fertig geschrieben.</p>
<p>Allerdings komme ich mit einer Teilaufgabe nicht weiter, da ich nicht weiß, wie ich das anstellen soll. Im Menü gibt es einen Punkt mit dem ich die verschiede Konten anlegen kann.</p>
<p>Aufgabe:<br />
&quot;Konten sollen gespeichert werden, indem ein Array von Zeigern auf Konten verwendet wird und durch Polymorphie auf die jeweilige Methoden der entsprechenden Kontoarten verwiesen wird.&quot;</p>
<p>Evt. kann mir einer bei diesem Teil helfen.</p>
<p>Gruß</p>
<p>Krikus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704737</guid><dc:creator><![CDATA[Krikus]]></dc:creator><pubDate>Sun, 03 May 2009 10:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Sun, 03 May 2009 10:57:04 GMT]]></title><description><![CDATA[<p>Hast du denn zu dieser Teilaufgabe schon etwas gemacht, wo du eventuell Fragen hast?Weil Hausaufgaben machen wir hier nicht <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="😉"
    /> Nur wer Eigenintiative zeigt, bekommt Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1704740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704740</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Sun, 03 May 2009 10:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Sun, 03 May 2009 11:02:10 GMT]]></title><description><![CDATA[<p>Speichere einfach Zeiger auf die Basisklasse &quot;Konto&quot;. Die Ein/Auszahlungen sollten ja abstrakte Funktionen sein, dann spielt es keine Rolle, ob es ein Giro, oder ein Festgeldkonto ist. Es wird dann automatisch die Funktion der abgeleiteten Klasse aufgerufen.</p>
<pre><code class="language-cpp">class Konto
{
  public:
   virtual void einzahlung (int Geld ) = 0;
   virtual int auszahlung () = 0;
}

class Giro : public Konto
{
  public:
   void einzahlung (int Geld) {...}
   int auszahlung () {...}
}

class Festgeld : public Konto
{
  public:
   void einzahlung (int Geld) {...}
   int auszahlung () {...}
}

Konto*[ 10 ] konten; // platz für 10 Konten
konten[ 0 ] = new Giro ();
konten[ 1 ] = new Festgeld ();
...

for (int i = 0; i &lt; 10 ; i++ )
  konten[ i ]-&gt;einzahlung ( 100000000000 ); // schön wärs, wenns so einfach wäre :p
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1704746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1704746</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 03 May 2009 11:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Mon, 04 May 2009 16:51:04 GMT]]></title><description><![CDATA[<p>Besten Dank dragkon für deine Antwort.<br />
Genau den unteren Teil Codes habe ich gebraucht.</p>
<p>Allerdings mag mein Compiler diese Zeile nicht:</p>
<pre><code class="language-cpp">basisklasse_konto*[ 10 ] konten; // platz für 10 Konten
</code></pre>
<p>&lt;- syntax error : '['</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705470</guid><dc:creator><![CDATA[Krikus]]></dc:creator><pubDate>Mon, 04 May 2009 16:51:04 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Mon, 04 May 2009 16:55:43 GMT]]></title><description><![CDATA[<p>so ists richtigrum:</p>
<p><code>Konto* konten[ 10 ];</code></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705472</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 04 May 2009 16:55:43 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Mon, 04 May 2009 16:55:47 GMT]]></title><description><![CDATA[<p>In C++ müssen die []-Klammern bei Arraydeklarationen nach dem Bezeichner stehen:</p>
<pre><code class="language-cpp">basisklasse_konto* konten[10];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1705473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705473</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 04 May 2009 16:55:47 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Mon, 04 May 2009 17:02:37 GMT]]></title><description><![CDATA[<p>Eventuell kann man an dieser Stelle noch die Standardcontainer erwähnen. Wie <code>std::vector</code></p>
<pre><code class="language-cpp">std::vector&lt;BasisKlasse*&gt; klassen;

klassen.push_back(new Giro);
</code></pre>
<p>Dazu muss man aber auch noch sowas wie, <code>boost::shared_ptr</code> und <code>boost::ptr_list</code> und Konsorten erwähnen.</p>
<p>edit:Was ich vergessen habe, wenn du keine Boost-Variante verwenden willst, denk bitte an die Regel:<br />
<em>Für jedes new ein delete</em> <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/1705475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705475</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 04 May 2009 17:02:37 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Mon, 04 May 2009 17:03:21 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>Dazu muss man aber auch noch sowas wie, <code>boost::shared_ptr</code> und <code>boost::ptr_list</code> und Konsorten erwähnen.</p>
</blockquote>
<p>Muss man auf jeden Fall. <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>
<p>Vielleicht wäre hilfreich, zu sagen, dass die Smart Pointer und Pointer Container vor allem benötigt werden, um eine automatische Freigabe sicherzustellen. Container mit <code>new</code> und <code>delete</code> sind nämlich relativ anfällig auf Memory Leaks. <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/1705476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705476</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 04 May 2009 17:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Zeigern &#x2F; Polymorphie on Mon, 04 May 2009 17:04:14 GMT]]></title><description><![CDATA[<p>Danke für den Zusatz, Nexus <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/1705477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705477</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 04 May 2009 17:04:14 GMT</pubDate></item></channel></rss>