<?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[Kindklassenobjekt in Elternklasse erstellen - möglich?]]></title><description><![CDATA[<p>Hallo,<br />
ich bearbeite derzeit eine Aufgabe in C++.<br />
Für meine Realisierung müsste ich innerhalb der Elternklasse ein Pointerarray mit 10 Inhalten vom Typ einer Kindklasse erstellen.</p>
<p>Das ganze sieht im Moment so aus:</p>
<pre><code>CKonto (*pKonto)[10];
</code></pre>
<p>Und befindet sich im public: Bereich der Elternklasse (von CKonto).</p>
<p>Leider explodiert der Compiler förmlich mit 6 Fehlermeldungen zur betroffenen Zeile (MS Visual Studio 2008)</p>
<blockquote>
<p>Fehler 1 error C2059: Syntaxfehler: '<em>'<br />
Fehler 2 error C2090: Funktionsergebnis ist ein Array<br />
Fehler 3 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
Fehler 5 error C2059: Syntaxfehler: '</em>'<br />
Fehler 6 error C2090: Funktionsergebnis ist ein Array<br />
Fehler 7 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.</p>
</blockquote>
<p>Hat jemand eventuell eine Idee, wo der Fehler liegen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240317/kindklassenobjekt-in-elternklasse-erstellen-möglich</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 00:44:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240317.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 May 2009 10:36:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 10:36:29 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich bearbeite derzeit eine Aufgabe in C++.<br />
Für meine Realisierung müsste ich innerhalb der Elternklasse ein Pointerarray mit 10 Inhalten vom Typ einer Kindklasse erstellen.</p>
<p>Das ganze sieht im Moment so aus:</p>
<pre><code>CKonto (*pKonto)[10];
</code></pre>
<p>Und befindet sich im public: Bereich der Elternklasse (von CKonto).</p>
<p>Leider explodiert der Compiler förmlich mit 6 Fehlermeldungen zur betroffenen Zeile (MS Visual Studio 2008)</p>
<blockquote>
<p>Fehler 1 error C2059: Syntaxfehler: '<em>'<br />
Fehler 2 error C2090: Funktionsergebnis ist ein Array<br />
Fehler 3 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
Fehler 5 error C2059: Syntaxfehler: '</em>'<br />
Fehler 6 error C2090: Funktionsergebnis ist ein Array<br />
Fehler 7 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.</p>
</blockquote>
<p>Hat jemand eventuell eine Idee, wo der Fehler liegen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705742</guid><dc:creator><![CDATA[duckman]]></dc:creator><pubDate>Tue, 05 May 2009 10:36:29 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 10:40:05 GMT]]></title><description><![CDATA[<p>Das sieht mir nach einer Virusprogrammierung aus.<br />
Bitte nicht helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705746</guid><dc:creator><![CDATA[Fed]]></dc:creator><pubDate>Tue, 05 May 2009 10:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 10:44:08 GMT]]></title><description><![CDATA[<p>Ja genau und deinen PC befällt er als ersten, weil du auf meinen Post geantwortet hast. <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 />
Im Ernst, mein Projekt hat ganz und gar nichts mit einem Virus zu tun. Wenn ich einen programmieren wöllte, würde ich sicher genug Know-how besitzen um ohne ein Forum klarzukommen. Geschweige denn würde ich solche Anfängerfragen stellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705751</guid><dc:creator><![CDATA[duckman]]></dc:creator><pubDate>Tue, 05 May 2009 10:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 11:40:37 GMT]]></title><description><![CDATA[<p>Inzwischen habe ich mich auch registriert.<br />
Also um es noch einmal klarzustellen: Das soll definitiv kein Virus werden, ich habe auch ohne solche anspruchsvollen Aufgaben noch genügend Probleme mit C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705792</guid><dc:creator><![CDATA[duckman]]></dc:creator><pubDate>Tue, 05 May 2009 11:40:37 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:06:27 GMT]]></title><description><![CDATA[<p>Etwas mehr Informationen wären sehr hilfreich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705812</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 05 May 2009 12:06:27 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:18:31 GMT]]></title><description><![CDATA[<p>Meine Header sieht derzeit folgendermaßen aus:</p>
<pre><code>class CKontoverwaltung
{
	private:

	protected: 
	char m_cAnzahlkonten;

	public:
	//Variablen
	CKonto (*pKonto)[10];   //10, da maximal 10 Konten
	//Funktionen
	CKontoverwaltung();
	virtual ~CKontoverwaltung();

	void ErstelleKonto(char);
	/*Erzeugt neue Konten mit passender Kontonummer	*/

	void DelKonto(char);
	/* Löscht nicht mehr benötigte Konten.	*/

	void VergehEinMonat();
	void VergehEinQuartal();
	void VergehEinJahr();

};

class CKonto:public CKontoverwaltung
{
public:
//Variablen
double m_dKontostand;
double m_dAktZinssatz;
double m_dAktGebuchteZinsen;
double m_dAktPrzVerzinsung;
double m_dAktmonatlEinzahlung;
double m_dAktmonatlAuszahlung;
double m_dAktmonatlDauerzahlung;
double m_dAktGebuehren;
double m_dAktBuchungsgebuehren;

//Funktionen
CKonto();
virtual ~CKonto();

};
</code></pre>
<p>Wichtig für mein Problem sind noch die Funktionen:<br />
void ErstelleKonto(char) und void DelKonto(char)</p>
<pre><code>void CKontoverwaltung::ErstelleKonto(char Kontonummer)
{
	pKonto[Kontonummer]= new CKonto();   
	m_cAnzahlkonten++; //Damit stets im Überblick wie viele Konten gesamt existent.
}

void CKontoverwaltung::DelKonto(char Kontonummer)
{
	delete pKonto[Kontonummer];
	pKonto[Kontonummer]=NULL;
	m_cAnzahlkonten--;
}
</code></pre>
<p>Mehr Informationen benötigt?<br />
Kann meine Implementation funktionieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705816</guid><dc:creator><![CDATA[duckman]]></dc:creator><pubDate>Tue, 05 May 2009 12:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:23:14 GMT]]></title><description><![CDATA[<p>Blöde Frage aber müsste das ned so aussehen:</p>
<p>pKonto* meine10Kinder;</p>
<p>im Konstruktor:</p>
<p>meine10Kinder = new pKonto[10];</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705828</guid><dc:creator><![CDATA[killerqueen]]></dc:creator><pubDate>Tue, 05 May 2009 12:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:33:25 GMT]]></title><description><![CDATA[<p>wieso ist ein Konto eine Kontoverwaltung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705836</guid><dc:creator><![CDATA[ausserdem]]></dc:creator><pubDate>Tue, 05 May 2009 12:33:25 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:37:39 GMT]]></title><description><![CDATA[<p>Das ist vom Design her etwas fragwürdig. Durch Deine Vererbung drückst Du aus, dass ein Konto eine Kontoverwaltung <em>ist</em>. Das hat aber nur sehr bedingt Sinn.<br />
Deine Kontoverwaltung <em>hat</em> wohl eher Konten (nämlich die verwalteten). Ich würde also keine Vererbung einsetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705841</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 05 May 2009 12:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:39:58 GMT]]></title><description><![CDATA[<p>Jetzt versetz dich mal in die Lage des Compilers, der eine Datei von oben nach unten liest. Dann kommst du genau bis hier:</p>
<pre><code class="language-cpp">class CKontoverwaltung
{
    private:

    protected:
    char m_cAnzahlkonten;

    public:
    //Variablen
    CKonto (*pKonto)[10];
</code></pre>
<p>und fragst dich: &quot;was ist CKonto?&quot; und kommst völlig aus dem Tritt und weißt nicht weiter. Nun versuchst du die Zeile an irgendwelche allgemeine Annahmen anzupassen, die deinem Compilerhersteller so in den Kopf kommen könnten und verhedderst dich noch mehr, was du mit einer Handvoll Fehlermeldungen quittierst bevor du aussteigst.</p>
<p>Tip: google mal nach &quot;forward declaration&quot;.<br />
Noch ein Tip: Ist ein Konto eine Kontoverwaltung? (public Vererbung heißt &quot;ist ein&quot;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705845</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 May 2009 12:39:58 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 12:45:26 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Tipps!<br />
Ich werde mir heute Nachmittag nochmal genauer Gedanken zu diesem Programm machen, aber fürs erste folgende Frage:<br />
Reicht es also, wenn ich CKonto als eigenständige Klasse erstelle und sie im HEader vor CKontoverwaltung setze? Könnte ich dir Pointer dann auf diese Art erzeugen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705850</guid><dc:creator><![CDATA[duckman]]></dc:creator><pubDate>Tue, 05 May 2009 12:45:26 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 13:17:55 GMT]]></title><description><![CDATA[<p>duckman schrieb:</p>
<blockquote>
<p>Reicht es also, wenn ich CKonto als eigenständige Klasse erstelle und sie im HEader vor CKontoverwaltung setze? Könnte ich dir Pointer dann auf diese Art erzeugen?</p>
</blockquote>
<p>Könntest du nur, wenn CKonto nicht mehr von CKontoverwaltung ableitet. Du musst es aber nicht so machen.</p>
<p>Ich kann mich nur wiederholen: google mal nach forward declaration. Das ist Grundwissen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705877</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 May 2009 13:17:55 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 15:45:51 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>duckman schrieb:</p>
<blockquote>
<p>Reicht es also, wenn ich CKonto als eigenständige Klasse erstelle und sie im HEader vor CKontoverwaltung setze? Könnte ich dir Pointer dann auf diese Art erzeugen?</p>
</blockquote>
<p>Könntest du nur, wenn CKonto nicht mehr von CKontoverwaltung ableitet. Du musst es aber nicht so machen.</p>
<p>Ich kann mich nur wiederholen: google mal nach forward declaration. Das ist Grundwissen.</p>
</blockquote>
<p>Forward Declaration habe ich mir jetzt angeschaut, ist ja wirklich ein ganz simple Sache.<br />
Dennoch glaube ich inzwischen selbst, dass eine eigene Klasse hier mehr Sinn macht.</p>
<p>Jetzt stehe ich jedoch vor einem neuen Problem in der ErstelleKonto</p>
<pre><code>void CKontoverwaltung::ErstelleKonto(char Kontonummer)
{
	pKonto[Kontonummer]= new CKonto(); 
	m_cAnzahlkonten++; 
}
</code></pre>
<p>Ich möchte z.B. aus dem vorhin erstellten Array auf pKonto [1] oder pKonto[5] oder... zugreifen.<br />
Allerdings gibt der Compiler folgende Fehlermeldung dazu aus:</p>
<blockquote>
<p>Fehler 1 error C2440: '=': 'CKonto *' kann nicht in 'CKonto [10]' konvertiert werde</p>
</blockquote>
<p>Wie kann ich das lösen?</p>
<p>Im Prinzip geht es mir nur um folgendes: Ich möchte Objekte/Pointer auf diese mit dynamischen Namen erstellen, so dass ich vernünftig auf sie zugreifen kann. Sprich Pointer1, Pointer2 usw. wären ideal.<br />
Mir ist nur bisher kein anderes Hilfsmittel als jenes Array eingefallen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705975</guid><dc:creator><![CDATA[duckman]]></dc:creator><pubDate>Tue, 05 May 2009 15:45:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 18:17:18 GMT]]></title><description><![CDATA[<p>Dazu bräuchtest du ein Array aus Pointern auf CKonto.<br />
Der new-Operator gibt die Addresse des allokierten Speichers zurück.<br />
Du köntest ja auf die einzelnen Member zugreifen und entsprechend zuweisen.<br />
Ich würde dir allerdings empfehlen, dich mal nach std::list umzusehen (Kannst ja auch ne Liste selbst implementieren, kann auch ganz interessant sein.).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1706062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1706062</guid><dc:creator><![CDATA[Cox]]></dc:creator><pubDate>Tue, 05 May 2009 18:17:18 GMT</pubDate></item><item><title><![CDATA[Reply to Kindklassenobjekt in Elternklasse erstellen - möglich? on Tue, 05 May 2009 19:44:11 GMT]]></title><description><![CDATA[<p>duckman schrieb:</p>
<blockquote>
<blockquote>
<p>Fehler 1 error C2440: '=': 'CKonto *' kann nicht in 'CKonto [10]' konvertiert werde</p>
</blockquote>
<p>Wie kann ich das lösen?</p>
</blockquote>
<p>Das hier ist noch ein Beispiel wie das ganze aussieht im Bezug auf meinen Vorposter.</p>
<pre><code class="language-cpp">char a[10];
a[10]=char;
a=char*;
a[10]=new char[10];//nein, da jeder Platz im Array ein char ist

char* b[10];
b[10]=char*;
b=char**;
b[10]=new char[10];//ja weil jeder Platz im Array ein Zeiger auf char ist und damit die Adresse speichern kann
</code></pre>
<p>Beim Gebrauch eines Arrays von Zeigern ist aber vorsicht geboten da man jedes Arrayfeld einzelln deleten muß bevor man das eigentliche Array deleten kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1706109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1706109</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Tue, 05 May 2009 19:44:11 GMT</pubDate></item></channel></rss>