<?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[2 Fragen zu Anfängercode]]></title><description><![CDATA[<p>Hi, Problem beim Klasse Werft Konstruktor kann nicht mit new speicher reservieren, warum? Und warum klappt es nicht, in der initialisierungsliste statt &quot;name&quot;, &quot;datraumschiff&quot; einzugeben? Auf seite 356 im buch c++ für spielegrogr.. klappt das</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class werft;

class raumschiff {

	public:

	raumschiff (string nname) {
		cout &lt;&lt; &quot;Raumschiff erstellt&quot; &lt;&lt; endl;
		name = nname;
	}
	~raumschiff() {
		cout &lt;&lt; &quot;Raumschiff zerstört&quot;;
	}
	void andocken (werft &amp;kacke) {
		cout &lt;&lt; &quot;Werft hat an der Werft &quot; &lt;&lt; name &lt;&lt; &quot; angedockt.&quot; &lt;&lt; endl;
	}

	private: 
	string name;
};

class werft {

	public:

	werft(string nname):
    name (&quot;Tomek&quot;)
	{
		name = nname;
		cout &lt;&lt; &quot;Werft wurde erstellt.&quot; &lt;&lt; endl;	
		datraumschiff = new raumschiff;
		datraumschiff-&gt;andocken (this);	
	}
	~werft();
	void zeigedaten () {
		cout &lt;&lt; this-&gt;name &lt;&lt; endl;
		cout &lt;&lt; datraumschiff-&gt;name &lt;&lt; endl;
	}

	private:

	string name;
	raumschiff *datraumschiff;
};

int main () {

	werft(&quot;Scheiss Werft&quot;);

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/338276/2-fragen-zu-anfängercode</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 16:29:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338276.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Jun 2016 01:09:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 01:09:25 GMT]]></title><description><![CDATA[<p>Hi, Problem beim Klasse Werft Konstruktor kann nicht mit new speicher reservieren, warum? Und warum klappt es nicht, in der initialisierungsliste statt &quot;name&quot;, &quot;datraumschiff&quot; einzugeben? Auf seite 356 im buch c++ für spielegrogr.. klappt das</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class werft;

class raumschiff {

	public:

	raumschiff (string nname) {
		cout &lt;&lt; &quot;Raumschiff erstellt&quot; &lt;&lt; endl;
		name = nname;
	}
	~raumschiff() {
		cout &lt;&lt; &quot;Raumschiff zerstört&quot;;
	}
	void andocken (werft &amp;kacke) {
		cout &lt;&lt; &quot;Werft hat an der Werft &quot; &lt;&lt; name &lt;&lt; &quot; angedockt.&quot; &lt;&lt; endl;
	}

	private: 
	string name;
};

class werft {

	public:

	werft(string nname):
    name (&quot;Tomek&quot;)
	{
		name = nname;
		cout &lt;&lt; &quot;Werft wurde erstellt.&quot; &lt;&lt; endl;	
		datraumschiff = new raumschiff;
		datraumschiff-&gt;andocken (this);	
	}
	~werft();
	void zeigedaten () {
		cout &lt;&lt; this-&gt;name &lt;&lt; endl;
		cout &lt;&lt; datraumschiff-&gt;name &lt;&lt; endl;
	}

	private:

	string name;
	raumschiff *datraumschiff;
};

int main () {

	werft(&quot;Scheiss Werft&quot;);

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2497942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497942</guid><dc:creator><![CDATA[Dlfm]]></dc:creator><pubDate>Mon, 06 Jun 2016 01:09:25 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 05:24:54 GMT]]></title><description><![CDATA[<p>Dein Raumschiffkonstruktor will einen Parameter haben.<br />
Also nicht:</p>
<pre><code>datraumschiff = new raumschiff;
</code></pre>
<p>sondern:</p>
<pre><code>datraumschiff = new raumschiff(&quot;Raumschiffname&quot;);
</code></pre>
<p>Sagt Dir Dein Compiler das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497945</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Mon, 06 Jun 2016 05:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 09:36:05 GMT]]></title><description><![CDATA[<p>und an deinen privaten Name kommst du so auch nicht drann</p>
<p>sollte aber wirklich alles genau so der Kompiler melden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497968</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Mon, 06 Jun 2016 09:36:05 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 11:32:52 GMT]]></title><description><![CDATA[<p>Mein compiler sagt &quot;no matching function for call to ...&quot; benutze c4droid aufm handy. habe die Sachen jetzt behoben aber es besteht noch ein problem in der daruntergelegenen zeile mit der function andocken (this). Eigentlich genau so dausgeführt wie im buch seite 363 zeile 81</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497970</guid><dc:creator><![CDATA[dlmr]]></dc:creator><pubDate>Mon, 06 Jun 2016 11:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 11:50:16 GMT]]></title><description><![CDATA[<p>dlmr schrieb:</p>
<blockquote>
<p>es besteht noch ein problem</p>
</blockquote>
<p>Was ist an Copy&amp;Paste so schwer?</p>
<p>Wie sieht der Code jetzt aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497971</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 06 Jun 2016 11:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 12:54:10 GMT]]></title><description><![CDATA[<p>this ist ein Pointer auf das aktuelle Objekt, in andocken erwartest du aber eine Referenz auf werft. Du musst also entweder *this schreiben oder die Signatur von andocken ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497973</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Mon, 06 Jun 2016 12:54:10 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 15:22:07 GMT]]></title><description><![CDATA[<p>Es tut nun was es soll, vielen Dank. Den neuen Code poste ich gleich. Habe paar Fragen dazu dann lass ich euch mit noobalert in ruhe.Ich weiss c++ ist viel umfassender als die Fragen sind aber ich glaube es sind nur Fragmente die mir fehlen um ein ganzes Stück weiter zu kommen, also bitte beantworten.</p>
<p>1. Warum zerstört sich die Instanz sofort, obwohl das Programm durch cin &gt;&gt; noch nicht beendet ist und wie kommt man dem entgegen?<br />
2. Was genau bewirkt der Stern bei der Parameterliste wo der this-zeiger verwendet wird?<br />
3.Wie müsste man die signatur umschreiben, um den Stern zu umgehen?</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class werft;

class raumschiff {

	public:

	raumschiff (string nname) {
		cout &lt;&lt; &quot;Raumschiff erstellt&quot; &lt;&lt; endl;
		name = nname;
	}
	~raumschiff() {
		cout &lt;&lt; &quot;Raumschiff zerstört.&quot;;
	}
	void andocken (werft &amp;kacke) {
		cout &lt;&lt; name &lt;&lt; &quot; hat an der Werft &quot; &lt;&lt; name &lt;&lt; &quot; angedockt.&quot; &lt;&lt; endl;
	}

	string name;
};

class werft {

	public:

	werft(string nname):
    name (&quot;Tomek&quot;)
	{
		name = nname;
		cout &lt;&lt; &quot;Werft &quot; &lt;&lt; name &lt;&lt; &quot; wurde erstellt.&quot; &lt;&lt; endl;	
		datraumschiff = new raumschiff (&quot;Enterscheiss&quot;);
		datraumschiff-&gt;andocken (*this);	
	}
	~werft() {
		cout &lt;&lt; &quot;Werft zerstört.&quot; &lt;&lt; endl;
	}
	void zeigedaten () {
		cout &lt;&lt; this-&gt;name &lt;&lt; endl;
		cout &lt;&lt; datraumschiff-&gt;name &lt;&lt; endl;
	}

	private:

	string name;
	raumschiff *datraumschiff;
};

int main () {
	string satz;

	werft(&quot;Scheiss Werft&quot;);

	cin &gt;&gt; satz;

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2497983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497983</guid><dc:creator><![CDATA[Dlkr]]></dc:creator><pubDate>Mon, 06 Jun 2016 15:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 15:24:04 GMT]]></title><description><![CDATA[<p>Es tut nun was es soll, vielen Dank. Den neuen Code poste ich gleich. Habe paar Fragen dazu dann lass ich euch mit noobalert in ruhe.Ich weiss c++ ist viel umfassender als die Fragen sind aber ich glaube es sind nur Fragmente die mir fehlen um ein ganzes Stück weiter zu kommen, also bitte beantworten.</p>
<p>1. Warum zerstört sich die Instanz sofort, obwohl das Programm durch cin &gt;&gt; noch nicht beendet ist und wie kommt man dem entgegen?<br />
2. Was genau bewirkt der Stern bei der Parameterliste wo der this-zeiger verwendet wird?<br />
3.Wie müsste man die signatur umschreiben, um den Stern zu umgehen?</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class werft;

class raumschiff {

	public:

	raumschiff (string nname) {
		cout &lt;&lt; &quot;Raumschiff erstellt&quot; &lt;&lt; endl;
		name = nname;
	}
	~raumschiff() {
		cout &lt;&lt; &quot;Raumschiff zerstört.&quot;;
	}
	void andocken (werft &amp;kacke) {
		cout &lt;&lt; name &lt;&lt; &quot; hat an der Werft &quot; &lt;&lt; name &lt;&lt; &quot; angedockt.&quot; &lt;&lt; endl;
	}

	string name;
};

class werft {

	public:

	werft(string nname):
    name (&quot;Tomek&quot;)
	{
		name = nname;
		cout &lt;&lt; &quot;Werft &quot; &lt;&lt; name &lt;&lt; &quot; wurde erstellt.&quot; &lt;&lt; endl;	
		datraumschiff = new raumschiff (&quot;Enterscheiss&quot;);
		datraumschiff-&gt;andocken (*this);	
	}
	~werft() {
		cout &lt;&lt; &quot;Werft zerstört.&quot; &lt;&lt; endl;
	}
	void zeigedaten () {
		cout &lt;&lt; this-&gt;name &lt;&lt; endl;
		cout &lt;&lt; datraumschiff-&gt;name &lt;&lt; endl;
	}

	private:

	string name;
	raumschiff *datraumschiff;
};

int main () {
	string satz;

	werft(&quot;Scheiss Werft&quot;);

	cin &gt;&gt; satz;

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2497984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497984</guid><dc:creator><![CDATA[Dlkr]]></dc:creator><pubDate>Mon, 06 Jun 2016 15:24:04 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 16:16:37 GMT]]></title><description><![CDATA[<p>Das ist ein temporäre Objekt ohne Nanen, das überlebt maximal die Anweisung, in der es erstellt wurde. Gib ihm noch einen Namen.<br />
Wann löscht du eigentlich das mit new erstellte Raumschiff? Warum fummelst du dort überhaupt mit new rum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497987</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Mon, 06 Jun 2016 16:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 17:52:51 GMT]]></title><description><![CDATA[<p>Lasse &quot;new&quot; bleiben solange du nicht damit umgehen kannst und nicht verstehst wie es funktioniert.<br />
Da gibt es andere, einfachere Konzepte dein Problem zu lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497992</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Mon, 06 Jun 2016 17:52:51 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 18:20:25 GMT]]></title><description><![CDATA[<p>New ist nicht das problem, hab delete einfach nicht gemacht, weil ich erstmal das prog zum laufen bringen wolote. Euch gehts sicher um den fehlenden code im destruktor if (x != NULL) delete x, x = NULL? ansonsten lasse ich mich gerne belehren!</p>
<p>Ich verstehe die fragen 2 und 3 immernoch nicht. Im buch klappts mit dem this pointer ohne &quot;*&quot; und ich finde den unterschied einfach nicht.</p>
<p>Dann ist noch dazugekommen, dass wenn ich den werft konstruktor ohne parameter genau den selben code wie mit parameter verpasse, mit dem einzigen unterschied, dass name =&quot;default&quot;; ist und ich ne instanz ohne namen erstellen will, bei folgendem main code:</p>
<pre><code>int main () {
	string satz;

	werft hallo();
	hallo.zeigedaten(); 
	cin &gt;&gt; satz;

	return 0; 
}
</code></pre>
<p>Der Fehler: Request for member 'zeigedaten' in 'hallo' which is in of non class type 'werft()'</p>
<p>Bei instanzerstellung mit namen klappt das und am fehlenden namen kanns ja nicht liegen, der ist ja &quot;default&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497994</guid><dc:creator><![CDATA[Dlrk]]></dc:creator><pubDate>Mon, 06 Jun 2016 18:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 18:29:34 GMT]]></title><description><![CDATA[<p>Dlrk schrieb:</p>
<blockquote>
<p>Euch gehts sicher um den fehlenden code im destruktor if (x != NULL) delete x, x = NULL?</p>
</blockquote>
<p>Nee, denn DAS wäre typischer Opensource-Gamercoderz-Code. Wenn Du &quot;if (x != NULL) delete x, x = NULL&quot; nachziehen willst, wechsele vielleicht die Lernquelle. Denn &quot;delete x&quot; macht nicht mehr und nicht weniger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497997</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 06 Jun 2016 18:29:34 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 18:52:51 GMT]]></title><description><![CDATA[<p>Auch das x=NULL;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498001</guid><dc:creator><![CDATA[Million Voices]]></dc:creator><pubDate>Mon, 06 Jun 2016 18:52:51 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 18:59:13 GMT]]></title><description><![CDATA[<p>Wozu solls gut sein? Wennst mehrmals delete auf den selben Pointer aufrufst hast einen fehler in der Programmlogik. Lass ma krachen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498002</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 06 Jun 2016 18:59:13 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 20:07:51 GMT]]></title><description><![CDATA[<p>Dlrk schrieb:</p>
<blockquote>
<pre><code>werft hallo();
</code></pre>
</blockquote>
<p>Such mal nach &quot;c++ most vexing parse&quot; in einer Suchmaschine deines Vertrauens.<br />
Oder lass einfach die Klammern weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498007</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Mon, 06 Jun 2016 20:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 20:18:47 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8250">@Swordfish</a>: Wozu muss das irgendwo zu gut sein? volkards Post ist in diesem Punkt schlicht irreführend. Da wird kein x=NULL durchgeführt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498008</guid><dc:creator><![CDATA[Million Voices]]></dc:creator><pubDate>Mon, 06 Jun 2016 20:18:47 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 20:28:36 GMT]]></title><description><![CDATA[<p>Gut, aber dann frag dich doch mal andersrum: wozu soll es denn gut sein, Resourcenverwaltung und andere werftspezifische Dinge zu vermischen? Wozu überhaupt &quot;new&quot; und kein Smartpointer? Solange es dafür keine sinnvollen Antworten gibt, ist es doch müßig, über den Sinn von <code>x=nullptr;</code> hinter dem delete im Destruktor zu diskutieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498009</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Mon, 06 Jun 2016 20:28:36 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 21:30:42 GMT]]></title><description><![CDATA[<p>danke wob <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498010</guid><dc:creator><![CDATA[drmg]]></dc:creator><pubDate>Mon, 06 Jun 2016 21:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 21:33:45 GMT]]></title><description><![CDATA[<p>So gesehen braucht man auch keine Smartpointer, oder überhaupt irgendwelche Zeiger, nicht wahr... werft hallo() lässt grüßen.</p>
<p>Aber schon gut, ich habe verstanden, hier sind nur absolute Cracks unterwegs, denen solche Dinge natürlich völlig klar sind. Einen Anfänger irre führende Aussagen kann man sich aber auch einfach schön reden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498011</guid><dc:creator><![CDATA[Million Voices]]></dc:creator><pubDate>Mon, 06 Jun 2016 21:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Mon, 06 Jun 2016 21:39:48 GMT]]></title><description><![CDATA[<p>@ swordfish, ich schätze das ist nicht der selbe pointer. jede instanz hat ihre eigene adresse und nur die wird im destruktor verwendet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498012</guid><dc:creator><![CDATA[drmlg]]></dc:creator><pubDate>Mon, 06 Jun 2016 21:39:48 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu Anfängercode on Tue, 07 Jun 2016 21:49:41 GMT]]></title><description><![CDATA[<p>Ich bin recht neu hier zugange. Mein Eindruck ist: wer sinnvolle Fragen stellt, bekommt auch sehr fundierte Antworten.</p>
<p>Wer idiotische Fragen stellt oder es auch nach mehrmaliger Aufforderung nicht schafft, die exakten Compiler-Fehlermeldungen zu posten, bekommt (zurecht!) keine sinnvollen Antworten mehr. Aber was ist daran schlimm? Warum soll dieses Forum 10000x dieselben Anfängerfragen beantworten, wenn der Verweis auf <a href="http://www.cplusplus.com" rel="nofollow">www.cplusplus.com</a> oder ähnliche Adressen es auch tut?</p>
<p>YMMV.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498107</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Tue, 07 Jun 2016 21:49:41 GMT</pubDate></item></channel></rss>