<?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[Konstruktor, Destruktor...]]></title><description><![CDATA[<p>Hi,</p>
<p>ich muss wiedermal was für die UNI Programmieren, leider hab ich grad ein Problem bei Klassen, eher gesagt bei dem Konstruktor und Destruktor.</p>
<p>Erstmal die Aufgabenstellung:<br />
<a href="http://www.fbi.h-da.de/fileadmin/personal/j.arz/PG2/PG2-SS06-Aufgabe3.htm" rel="nofollow">http://www.fbi.h-da.de/fileadmin/personal/j.arz/PG2/PG2-SS06-Aufgabe3.htm</a></p>
<p>Ich hab noch nicht viel programmiert, aber wollte es schonmal testen ob der Konstruktor oder Destruktor geht, leider bekomme ich diese Fehlermeldung hier.</p>
<p>1&gt;xxx\frau.cpp(10) : error C2512: 'Mensch' : no appropriate default constructor available</p>
<p>Hier mein Code bis jetzt:</p>
<p>Frau.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;frau.h&quot;
#include &quot;mann.h&quot;
#include &quot;mensch.h&quot;

using namespace std;

Frau::Frau(char *n)
{

	name = new char(80);
	name = n;

}

Frau::~Frau(){}
</code></pre>
<p>frau.h</p>
<pre><code class="language-cpp">#ifndef header_frau
#define header_frau

#include &quot;Mensch.h&quot;

class Frau : public Mensch						// Klasse Frau der Ausbaustufe 2
{
public:
               Frau(char *);					// Konstruktor, der den Namen des Menschen als String mitbringt
               virtual ~Frau( );				// Destruktor
               void kind (int, char *);			// Erzeugung (= Geburt) des n-ten Kindes mit Namen
               void heirat(char *);				// Heirat mit dem Mann mit dem mitgegebenen Namen
               void stirbtKind(int);			// Tot des n-ten Kindes (n als int-Parameter)
               void stirbtEhemann(void);		// Tot des Ehemanns
               void zeige(void);				// Zeigt Ehemann und Kinder (soweit existieren) auf dem Bildschirm 

protected:
               Mensch * ehemann;				// Zeiger auf den Ehemann; 0, falls nicht vorhanden
               Mensch * kinder[10];				// Array von Zeigern auf die Kinder; 0, falls nicht vorhanden
};

#endif
</code></pre>
<p>Mensch.h</p>
<pre><code class="language-cpp">#ifndef header_mensch
#define header_mensch

class Mensch								// Klasse Mensch der Ausbaustufe 2
{
public: 
               char * getName( );			// Returnt einen Zeiger auf den Namen
               Mensch(char *);				// Konstruktor, der den Namen als String mitbringt
               virtual ~Mensch( );			// Destruktor

protected:
               char *name;//[80];				// Der Name (Vor- und Zuname eines Menschen) als String
};

#endif
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;frau.h&quot;
#include &quot;mann.h&quot;
#include &quot;mensch.h&quot;

using namespace std;

void main()
{

}
</code></pre>
<p>in den anderen Files steht noch nichts drinnen, daher brauche ich sie auch nicht zu posten.</p>
<p>Woran liegt jetzt der fehler, ich dachte man kann so den konstruktor aufrufen?</p>
<p>Besten Dank.</p>
<p>VLG,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147281/konstruktor-destruktor</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 03:46:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147281.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 May 2006 15:03:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 15:03:50 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich muss wiedermal was für die UNI Programmieren, leider hab ich grad ein Problem bei Klassen, eher gesagt bei dem Konstruktor und Destruktor.</p>
<p>Erstmal die Aufgabenstellung:<br />
<a href="http://www.fbi.h-da.de/fileadmin/personal/j.arz/PG2/PG2-SS06-Aufgabe3.htm" rel="nofollow">http://www.fbi.h-da.de/fileadmin/personal/j.arz/PG2/PG2-SS06-Aufgabe3.htm</a></p>
<p>Ich hab noch nicht viel programmiert, aber wollte es schonmal testen ob der Konstruktor oder Destruktor geht, leider bekomme ich diese Fehlermeldung hier.</p>
<p>1&gt;xxx\frau.cpp(10) : error C2512: 'Mensch' : no appropriate default constructor available</p>
<p>Hier mein Code bis jetzt:</p>
<p>Frau.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;frau.h&quot;
#include &quot;mann.h&quot;
#include &quot;mensch.h&quot;

using namespace std;

Frau::Frau(char *n)
{

	name = new char(80);
	name = n;

}

Frau::~Frau(){}
</code></pre>
<p>frau.h</p>
<pre><code class="language-cpp">#ifndef header_frau
#define header_frau

#include &quot;Mensch.h&quot;

class Frau : public Mensch						// Klasse Frau der Ausbaustufe 2
{
public:
               Frau(char *);					// Konstruktor, der den Namen des Menschen als String mitbringt
               virtual ~Frau( );				// Destruktor
               void kind (int, char *);			// Erzeugung (= Geburt) des n-ten Kindes mit Namen
               void heirat(char *);				// Heirat mit dem Mann mit dem mitgegebenen Namen
               void stirbtKind(int);			// Tot des n-ten Kindes (n als int-Parameter)
               void stirbtEhemann(void);		// Tot des Ehemanns
               void zeige(void);				// Zeigt Ehemann und Kinder (soweit existieren) auf dem Bildschirm 

protected:
               Mensch * ehemann;				// Zeiger auf den Ehemann; 0, falls nicht vorhanden
               Mensch * kinder[10];				// Array von Zeigern auf die Kinder; 0, falls nicht vorhanden
};

#endif
</code></pre>
<p>Mensch.h</p>
<pre><code class="language-cpp">#ifndef header_mensch
#define header_mensch

class Mensch								// Klasse Mensch der Ausbaustufe 2
{
public: 
               char * getName( );			// Returnt einen Zeiger auf den Namen
               Mensch(char *);				// Konstruktor, der den Namen als String mitbringt
               virtual ~Mensch( );			// Destruktor

protected:
               char *name;//[80];				// Der Name (Vor- und Zuname eines Menschen) als String
};

#endif
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;frau.h&quot;
#include &quot;mann.h&quot;
#include &quot;mensch.h&quot;

using namespace std;

void main()
{

}
</code></pre>
<p>in den anderen Files steht noch nichts drinnen, daher brauche ich sie auch nicht zu posten.</p>
<p>Woran liegt jetzt der fehler, ich dachte man kann so den konstruktor aufrufen?</p>
<p>Besten Dank.</p>
<p>VLG,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058249</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Mon, 15 May 2006 15:03:50 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 15:07:17 GMT]]></title><description><![CDATA[<p>Du hast den Konstruktor für Mensch zwar schon deklariert, aber noch nicht implementiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058251</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Mon, 15 May 2006 15:07:17 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 20:30:01 GMT]]></title><description><![CDATA[<p>&lt;Mod&gt;Code entfernt!&lt;/Mode&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058252</guid><dc:creator><![CDATA[hi]]></dc:creator><pubDate>Mon, 15 May 2006 20:30:01 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 15:11:01 GMT]]></title><description><![CDATA[<p>Was für ein Held ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058255</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Mon, 15 May 2006 15:11:01 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 15:13:08 GMT]]></title><description><![CDATA[<p>da war ja einer kreativ .... armer Kerl</p>
<p>ich meine, in der frau.h muss nach dem Konstruktor der Klasse frau mit ':' explizit angegeben werden , welcher Basisklassenkonstruktor aufgerufen werden muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058260</guid><dc:creator><![CDATA[bumbytie]]></dc:creator><pubDate>Mon, 15 May 2006 15:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 15:18:21 GMT]]></title><description><![CDATA[<p>schöner code von hi...</p>
<p>Hast aber schnell gecoded <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>ich werd's mal probieren...</p>
<p>wußte nicht genau wie ich das machen soll, wegen der klasse mensch.</p>
<p>Ich meld mich wieder wenn es nicht klappt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058265</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Mon, 15 May 2006 15:18:21 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 15:48:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Frau::Frau(char *n) 
{ 

    name = new char(80); 
    name = n; 

}
</code></pre>
<p>Du solltest nochmal überlegen was das genau macht... Wahrscheinlich wolltest du schreiben:</p>
<p>name= new char[80];</p>
<p>Und wenn du den Inhalt von n nach name kopieren willst, musst du das auch anders machen.</p>
<p>Ach ja, delete im Destruktor nicht vergessen <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/1058284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058284</guid><dc:creator><![CDATA[lustig]]></dc:creator><pubDate>Mon, 15 May 2006 15:48:21 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 16:13:14 GMT]]></title><description><![CDATA[<p>DarthZiu schrieb:</p>
<blockquote>
<p>Du hast den Konstruktor für Mensch zwar schon deklariert, aber noch nicht implementiert.</p>
</blockquote>
<p>Wie mache ich das genau?</p>
<p>Ich hab mir mal den Code von meinen Studienkollegen angeschaut und die machen das genauso:</p>
<p>mensch.cpp</p>
<pre><code class="language-cpp">// Mensch.cpp: implementation of the Mensch class.
//
//////////////////////////////////////////////////////////////////////

#include &quot;Mensch.h&quot;
#include &quot;Frau.h&quot;
#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Mensch::Mensch() { }

Mensch::Mensch(char * n)
{
name = new char (80); name = n;
vermoegen = 0.0;
waehrung = new char (3); waehrung = &quot;EUR&quot;;
}

Mensch::~Mensch() { }

char * Mensch::get_name(void) { return name; }

void Mensch::set_name(char * n) { name = n; }

double Mensch::get_vermoegen(void) { return vermoegen; }

char * Mensch::get_waehrung(void) { return waehrung; }

void Mensch::set_vermoegen(double v, char * w) { vermoegen = v; waehrung = w; }
</code></pre>
<p>frau.cpp</p>
<pre><code class="language-cpp">Frau::Frau(char * n) { name = new char (80); name = n; }

Frau::~Frau() { }
</code></pre>
<p>Wenn unser prof nur mal beispiele in sein skript machen könnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058307</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Mon, 15 May 2006 16:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Mon, 15 May 2006 17:24:31 GMT]]></title><description><![CDATA[<p>also das hat jetzt nur gefehlt... lol</p>
<pre><code class="language-cpp">Mensch::Mensch() { }

Mensch::~Mensch() { }
</code></pre>
<p>*schlagmichtot*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058346</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Mon, 15 May 2006 17:24:31 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor, Destruktor... on Thu, 05 Aug 2010 11:27:28 GMT]]></title><description><![CDATA[<p>DragonShaolin schrieb:</p>
<blockquote>
<p>also das hat jetzt nur gefehlt... lol</p>
</blockquote>
<p>Sag ich doch <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>DragonShaolin schrieb:</p>
<blockquote>
<p>*schlagmichtot*</p>
</blockquote>
<p>Noch nicht ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058493</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Thu, 05 Aug 2010 11:27:28 GMT</pubDate></item></channel></rss>