<?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[Programm kompiliert, stürzt dann aber ab]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich mache gerade eine Aufgabe und habe es eigentlich bis auf eine Teilaufgabe fertig. Das Programm kompiliert aber danach stürzt es ab. Die Aufgabe besteht aus mehreren Teilen. Ich schreibe hier mal die komplette Aufgabe, damit es verständlich ist.</p>
<p>Ergänzen Sie den unten angegebenen Code wie beschrieben, um eine ablauffähige, korrekte Version zu erhalten. Korrekt bedeutet insbesondere, dass die Fälle der Initialisierung einer Variablen vom Typ PFeld bei der Deklaration, die Wertzuweisung an eine Variablen vom Typ PFeld und die Vernichtung einer Variablen vom Typ PFeld korrekt funktionieren. Siehe dazu auch das unten gegebene Hauptprogramm. Denken sie an die notwendigen Konstruktoren, den Destruktor und den Zuweisungsoperator.</p>
<p>a) Ergänzen Sie die gegebene Klassendefinition von PFeld. Fügen Sie geeigneten Code für den parameterbehafteten Konstruktor ein.<br />
b) get() und set() Funktion definieren.<br />
c) Kopierkonstruktor definieren.<br />
d) Zuweisungsoperator überladen.<br />
e) Überladen Sie den Bitshiftoperator &lt;&lt; für die Ausgabe einer Variablen vom Typ Punkt auf der Standardausgabe. Die Ausgabe eines Punktes mit x=5.5, y=6.6 z. B. soll folgendermaßen aussehen: (5.5,6.6)<br />
f) Überladen Sie den Feldindexoperator [] für PFeld, d.h. ermöglichen Sie die Feldindexschreibweise für Objekte vom Typ PFeld. Führen Sie eine Indexprüfung durch und brechen Sie das Programm bei einem ungültigen Index ab.</p>
<p>Bis auf die Aufgabe f habe ich versucht alles zu machen. Ich erwarte nicht, dass hier jemand für mich die Aufgabe macht. Ich will wissen, wieso das Programm abstürzt. Ich würde mich aber freuen, wenn jemand die Aufgabe kurz durchgeht und schaut, ob ich alles richtig gemacht habe. <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>
<pre><code>#include &lt;iostream&gt;
using namespace std;

struct Punkt {
	double x;
	double y;
};

class PFeld { //In dieser Klasse wird dynamisch Speicher allokiert

	Punkt *pp;
	int dim;

public:
	// Standardkonstruktor
	PFeld() {
		pp = 0;
		dim = 0;
	}

	// Kopierkonstruktor
	PFeld(const PFeld &amp;copy) {
		for (int i = 0; i &lt; dim; i++) {
			this-&gt;pp[i].x = copy.pp[i].x;
			this-&gt;pp[i].y = copy.pp[i].y;
		}
	}

	// hier Code eintragen, alle Punkte werden auf 0
	// initialisiert, d.h. die Elementvariablen x, y werden für jeden
	// Punkt auf 0 gesetzt.
	PFeld(int d) {
		for (int i = 0; i &lt; d; i++) {
			pp[i].x = 0;
			pp[i].y = 0;
		}	
	}

	// hier Code eintragen
	~PFeld() {
		delete pp;
	}

	//i-tes Punkt Element aus PFeld wird zurückgegeben
	Punkt get(int i) {
		return pp[i];
	}

	// Element x, y des Punktes
	// an der Stelle i setzen
	void set(int i, double x, double y) {
			pp[i].x = x;
			pp[i].y = y;	
	}

	// Deklaration Zuweisungsoperator
	PFeld&amp; PFeld::operator=(PFeld const&amp; ob2);

	// Deklaration Bitshiftoperator
	friend ostream&amp; operator&lt;&lt;(ostream&amp; os, PFeld p);

	// Deklaration Feldindexoperator
	//PFeld&amp; PFeld::operator[](PFeld const&amp; ob2);

}; //Ende Klassendefinition PFeld

// Bitshiftoperator
ostream&amp; operator&lt;&lt;(ostream&amp; out, Punkt p) {
	return out &lt;&lt; '(' &lt;&lt; p.x &lt;&lt; ',' &lt;&lt; p.y &lt;&lt; ')' &lt;&lt; endl;
}

// Zuweisungsoperator
PFeld&amp; PFeld::operator=(PFeld const&amp; ob2) {
	for (int i = 0; i &lt; dim; i++) {
		this-&gt;pp[i].x = ob2.pp[i].x;
		this-&gt;pp[i].y = ob2.pp[i].y;
	}
	return *this;
}

int main() {
	const int pdim = 10;
	PFeld einPFeld(pdim); // Aufruf Parameterkonstruktor
	PFeld zweitesPFeld;
	int i;

	// Initialisierung von einPFeld
	for (i = 0; i &lt; pdim; i++) {
		einPFeld.set(i, i + 0.5, i*2.0);
	}

	// weise Wert zu
	zweitesPFeld = einPFeld; // überladener Zuweisungsoperator aufgerufen
	//zweitesPFeld[0] = einPFeld; // Zugriff über Feldindex

	// Ausgabe von zweitesPFeld
	for (i = 0; i &lt; pdim; i++) {
		cout &lt;&lt; zweitesPFeld.get(i).x &lt;&lt; zweitesPFeld.get(i).y &lt;&lt; endl;
	}

	// weise Wert zu
	PFeld drittesPFeld = einPFeld; // hier wird der Kopierkonstruktor aufgerufen

	// Ausgabe von drittesPFeld
	for (i = 0; i &lt; pdim; i++) {
		cout &lt;&lt; drittesPFeld.get(i) &lt;&lt; drittesPFeld.get(i).y &lt;&lt; endl;
	}

	return 0;

}
</code></pre>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/327047/programm-kompiliert-stürzt-dann-aber-ab</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 20:25:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327047.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Jul 2014 22:39:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Sun, 20 Jul 2014 22:39:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich mache gerade eine Aufgabe und habe es eigentlich bis auf eine Teilaufgabe fertig. Das Programm kompiliert aber danach stürzt es ab. Die Aufgabe besteht aus mehreren Teilen. Ich schreibe hier mal die komplette Aufgabe, damit es verständlich ist.</p>
<p>Ergänzen Sie den unten angegebenen Code wie beschrieben, um eine ablauffähige, korrekte Version zu erhalten. Korrekt bedeutet insbesondere, dass die Fälle der Initialisierung einer Variablen vom Typ PFeld bei der Deklaration, die Wertzuweisung an eine Variablen vom Typ PFeld und die Vernichtung einer Variablen vom Typ PFeld korrekt funktionieren. Siehe dazu auch das unten gegebene Hauptprogramm. Denken sie an die notwendigen Konstruktoren, den Destruktor und den Zuweisungsoperator.</p>
<p>a) Ergänzen Sie die gegebene Klassendefinition von PFeld. Fügen Sie geeigneten Code für den parameterbehafteten Konstruktor ein.<br />
b) get() und set() Funktion definieren.<br />
c) Kopierkonstruktor definieren.<br />
d) Zuweisungsoperator überladen.<br />
e) Überladen Sie den Bitshiftoperator &lt;&lt; für die Ausgabe einer Variablen vom Typ Punkt auf der Standardausgabe. Die Ausgabe eines Punktes mit x=5.5, y=6.6 z. B. soll folgendermaßen aussehen: (5.5,6.6)<br />
f) Überladen Sie den Feldindexoperator [] für PFeld, d.h. ermöglichen Sie die Feldindexschreibweise für Objekte vom Typ PFeld. Führen Sie eine Indexprüfung durch und brechen Sie das Programm bei einem ungültigen Index ab.</p>
<p>Bis auf die Aufgabe f habe ich versucht alles zu machen. Ich erwarte nicht, dass hier jemand für mich die Aufgabe macht. Ich will wissen, wieso das Programm abstürzt. Ich würde mich aber freuen, wenn jemand die Aufgabe kurz durchgeht und schaut, ob ich alles richtig gemacht habe. <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>
<pre><code>#include &lt;iostream&gt;
using namespace std;

struct Punkt {
	double x;
	double y;
};

class PFeld { //In dieser Klasse wird dynamisch Speicher allokiert

	Punkt *pp;
	int dim;

public:
	// Standardkonstruktor
	PFeld() {
		pp = 0;
		dim = 0;
	}

	// Kopierkonstruktor
	PFeld(const PFeld &amp;copy) {
		for (int i = 0; i &lt; dim; i++) {
			this-&gt;pp[i].x = copy.pp[i].x;
			this-&gt;pp[i].y = copy.pp[i].y;
		}
	}

	// hier Code eintragen, alle Punkte werden auf 0
	// initialisiert, d.h. die Elementvariablen x, y werden für jeden
	// Punkt auf 0 gesetzt.
	PFeld(int d) {
		for (int i = 0; i &lt; d; i++) {
			pp[i].x = 0;
			pp[i].y = 0;
		}	
	}

	// hier Code eintragen
	~PFeld() {
		delete pp;
	}

	//i-tes Punkt Element aus PFeld wird zurückgegeben
	Punkt get(int i) {
		return pp[i];
	}

	// Element x, y des Punktes
	// an der Stelle i setzen
	void set(int i, double x, double y) {
			pp[i].x = x;
			pp[i].y = y;	
	}

	// Deklaration Zuweisungsoperator
	PFeld&amp; PFeld::operator=(PFeld const&amp; ob2);

	// Deklaration Bitshiftoperator
	friend ostream&amp; operator&lt;&lt;(ostream&amp; os, PFeld p);

	// Deklaration Feldindexoperator
	//PFeld&amp; PFeld::operator[](PFeld const&amp; ob2);

}; //Ende Klassendefinition PFeld

// Bitshiftoperator
ostream&amp; operator&lt;&lt;(ostream&amp; out, Punkt p) {
	return out &lt;&lt; '(' &lt;&lt; p.x &lt;&lt; ',' &lt;&lt; p.y &lt;&lt; ')' &lt;&lt; endl;
}

// Zuweisungsoperator
PFeld&amp; PFeld::operator=(PFeld const&amp; ob2) {
	for (int i = 0; i &lt; dim; i++) {
		this-&gt;pp[i].x = ob2.pp[i].x;
		this-&gt;pp[i].y = ob2.pp[i].y;
	}
	return *this;
}

int main() {
	const int pdim = 10;
	PFeld einPFeld(pdim); // Aufruf Parameterkonstruktor
	PFeld zweitesPFeld;
	int i;

	// Initialisierung von einPFeld
	for (i = 0; i &lt; pdim; i++) {
		einPFeld.set(i, i + 0.5, i*2.0);
	}

	// weise Wert zu
	zweitesPFeld = einPFeld; // überladener Zuweisungsoperator aufgerufen
	//zweitesPFeld[0] = einPFeld; // Zugriff über Feldindex

	// Ausgabe von zweitesPFeld
	for (i = 0; i &lt; pdim; i++) {
		cout &lt;&lt; zweitesPFeld.get(i).x &lt;&lt; zweitesPFeld.get(i).y &lt;&lt; endl;
	}

	// weise Wert zu
	PFeld drittesPFeld = einPFeld; // hier wird der Kopierkonstruktor aufgerufen

	// Ausgabe von drittesPFeld
	for (i = 0; i &lt; pdim; i++) {
		cout &lt;&lt; drittesPFeld.get(i) &lt;&lt; drittesPFeld.get(i).y &lt;&lt; endl;
	}

	return 0;

}
</code></pre>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409638</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Sun, 20 Jul 2014 22:39:02 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Sun, 20 Jul 2014 23:06:04 GMT]]></title><description><![CDATA[<p>Markuslab schrieb:</p>
<blockquote>
<pre><code>class PFeld { //In dieser Klasse wird dynamisch Speicher allokiert
</code></pre>
</blockquote>
<p>Wo eigentlich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409639</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 20 Jul 2014 23:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Sun, 20 Jul 2014 23:21:49 GMT]]></title><description><![CDATA[<p>Habe das ergänzt:</p>
<pre><code>// Standardkonstruktor
	PFeld() {
		pp = new Punkt;
		pp = 0;
		dim = 0;
	}
	// Parameterkonstruktor
	PFeld(int d) {
		pp = new Punkt;
		for (int i = 0; i &lt; d; i++) {
			pp[i].x = 0;
			pp[i].y = 0;
		}	
	}
</code></pre>
<p>korrekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409640</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Sun, 20 Jul 2014 23:21:49 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Sun, 20 Jul 2014 23:48:23 GMT]]></title><description><![CDATA[<p>Nein. Das Warum kannst du hoffentlich selbst beantworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409641</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 20 Jul 2014 23:48:23 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 00:04:17 GMT]]></title><description><![CDATA[<p>Dieser Teil war eigentlich angegeben. Dieser Kommentar auch... <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/2409643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409643</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Mon, 21 Jul 2014 00:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 06:25:14 GMT]]></title><description><![CDATA[<p>Dann erkläre mal bitte was das hier bewirken soll</p>
<pre><code>pp = new Punkt; 
pp = 0;
</code></pre>
<p>Da sind noch ganz viele andere Fehler drin.<br />
z. Bsp.<br />
Wo wird im CopyConstructor Speicher vereinbart.<br />
Was genau macht dein Zuweisungsoperator wenn dein übergebenes Feld eine andere Größe hat als das Orginalfeld?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409648</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 21 Jul 2014 06:25:14 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 07:05:39 GMT]]></title><description><![CDATA[<pre><code>// Standardkonstruktor
	PFeld() {
		pp = new Punkt;
</code></pre>
<p>pp Zeigt jetzt auf Speicher für einen Punkt</p>
<pre><code>pp = 0;
</code></pre>
<p>pp Zeigt jetzt auf nichts mehr. Du hast keinen Zeiger mehr für den zuvor anglegten Speicher, so dass Du ihn nicht mehr frei geben könntest =&gt; Memoryleak.</p>
<pre><code>dim = 0;
	}
	// Parameterkonstruktor
	PFeld(int d) {
		pp = new Punkt;
</code></pre>
<p>pp Zeigt jetzt auf Speicher für einen Punkt. Ist d &gt; 0 greift bereits der 2. Schleifendurchlauf auf Speicher zu, der Dir nicht gehört, was früher oder später zum Absturz führt.</p>
<pre><code>for (int i = 0; i &lt; d; i++) {
			pp[i].x = 0;
			pp[i].y = 0;
		}	
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2409651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409651</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Mon, 21 Jul 2014 07:05:39 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 11:49:52 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Dann erkläre mal bitte was das hier bewirken soll</p>
<pre><code>pp = new Punkt; 
pp = 0;
</code></pre>
<p>Da sind noch ganz viele andere Fehler drin.<br />
z. Bsp.<br />
Wo wird im CopyConstructor Speicher vereinbart.<br />
Was genau macht dein Zuweisungsoperator wenn dein übergebenes Feld eine andere Größe hat als das Orginalfeld?</p>
</blockquote>
<pre><code>// Kopierkonstruktor
	PFeld(const PFeld &amp;copy) {
		pp = new Punkt[copy.dim];
		for (int i = 0; i &lt; dim; i++) {
			this-&gt;pp[i].x = copy.pp[i].x;
			this-&gt;pp[i].y = copy.pp[i].y;
		}
	}
</code></pre>
<p>Wie hier <a href="http://www.c-plusplus.net/forum/232010-full" rel="nofollow">http://www.c-plusplus.net/forum/232010-full</a> angegeben, habe ich die Zuweisung mit swap versucht aber ich bekomme eine Fehlermeldung &quot;Keine Instanz von Überladene Funktion swap stimmt mit der Argumentliste überein. Argumenttypen sind: (PFeld)&quot;</p>
<pre><code>// Zuweisungsoperator
PFeld&amp; PFeld::operator=(PFeld const&amp; ob2) {
	if (this != &amp;ob2)  
	{
		PFeld tmp(ob2);
		swap(tmp);
	}
	return *this;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2409689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409689</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Mon, 21 Jul 2014 11:49:52 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 11:55:41 GMT]]></title><description><![CDATA[<p>tntnet schrieb:</p>
<blockquote>
<p>...was früher oder später zum Absturz führt...</p>
</blockquote>
<p>Wo soll ich das dann machen? Wie oben erwähnt, &quot;In dieser Klasse wird dynamisch Speicher allokiert&quot; war angegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409690</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Mon, 21 Jul 2014 11:55:41 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 12:19:57 GMT]]></title><description><![CDATA[<p>Markuslab schrieb:</p>
<blockquote>
<p>tntnet schrieb:</p>
<blockquote>
<p>...was früher oder später zum Absturz führt...</p>
</blockquote>
<p>Wo soll ich das dann machen? Wie oben erwähnt, &quot;In dieser Klasse wird dynamisch Speicher allokiert&quot; war angegeben.</p>
</blockquote>
<p>Was genau war vorgegeben? Dass deine Konstruktoren, so wie du sie hier gepostet hast, vorgegeben waren, kann ich kaum glauben. Beim einen schmeißt du den Zeiger gleich ganz weg, beim anderen erzeugst du nur einen Punkt, wo du doch u.U. mehrere bräuchtest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409693</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 21 Jul 2014 12:19:57 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 12:22:07 GMT]]></title><description><![CDATA[<p>Markuslab schrieb:</p>
<blockquote>
<p>tntnet schrieb:</p>
<blockquote>
<p>...was früher oder später zum Absturz führt...</p>
</blockquote>
<p>Wo soll ich das dann machen?</p>
</blockquote>
<p>Nicht nur für einen Punkt Speicher allozieren. Du weißt wie das geht, das seh ich an deinem zuletzt geposteten Kopierkonstruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409694</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 21 Jul 2014 12:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 13:04:42 GMT]]></title><description><![CDATA[<pre><code>// Standardkonstruktor
    PFeld() {
        pp = 0;
        dim = 0;
    }
    // Parameterkonstruktor
    PFeld(int d) {
        pp = new Punkt[d];
        for (int i = 0; i &lt; d; i++) {
            pp[i].x = 0;
            pp[i].y = 0;
        }  
    }
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409706</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Mon, 21 Jul 2014 13:04:42 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 14:23:36 GMT]]></title><description><![CDATA[<p>Was machst du hier eigentlich?</p>
<p>Du hast eine Frage gestellt (die in der Form, oder leicht abgeändert, jeder Programmierer auf der Welt jeden Tag öfters stellen könnte, er löst es aber dann doch selbst) und ignorierst im Prinzip die Antworten, fragst aber dann mit minimalen Verbesserungen nach, ob das jetzt passt.</p>
<p>So programmiert man nicht !<br />
Weder im Beruf noch im Hobby noch in der Uni/Schule (denn du kannst ja in der Klausur auch keinen alle 30 Sekudnen fragen, ob das jetzt besser ist*).</p>
<p>Jetzt mal ernst beiseite: Ich denke, du willst nur mal eben das Fach bestehen und danach nicht mehr mit Programmierung in Berührung kommen? Aber auch dafür musst du ein bisschen tun.</p>
<p>*: Wenn doch, dann sag Bescheid, für so eine lächerliche Edukationseinrichtung gibts sicherlich viele Interessierten. Der Terminus &quot;den Abschluss im lotto gewonnen haben&quot; passt dahin sicherlich gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409737</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 21 Jul 2014 14:23:36 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 14:50:54 GMT]]></title><description><![CDATA[<p>Sorry, du hast recht aber du weißt auch nicht in was für einer Lage ich gerade bin. Ich versuche parallel mehrere Aufgaben zu machen. Es ist ja nicht so, dass ich jetzt nichts gemacht habe. Ich habe das Programm so verbessert, wie hier angegeben. Das dann laufen lassen und es stürzt immer noch ab ohne eine Ausgabe von einer Fehlermeldung. Deswegen einfach die Verbesserung kurz noch mal gepostet, nicht dass ich es &quot;falsch verbessert&quot; habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409745</guid><dc:creator><![CDATA[Markuslab]]></dc:creator><pubDate>Mon, 21 Jul 2014 14:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 15:00:24 GMT]]></title><description><![CDATA[<p>Also gut find ich das noch immer nicht. Wenn du ein Objekt mit dem Standardkonstruktor erstellst, gibt es kein new. Es gibt aber ein delete wenn es dann zerstört wird. Ein delete ohne new... (delete auf NULL ist zwar ok, aber trotzdem nicht schön)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409748</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 21 Jul 2014 15:00:24 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 15:01:30 GMT]]></title><description><![CDATA[<p>Deine persönliche Lage in allen Ehren, im Berufsleben wird da auch in den seltensten Fällen Rücksicht drauf genommen. Wenn man eine Projekt bis Tag X fertig haben soll und das auch fertig hat dann, dann gitbs Geld. Wenn mans erst ab dem Tag X+1 fertig hat, gibts kein Geld, egal was ist...</p>
<p>Welche Betriebssystem und welchen Editor und Compiler nutzt du?<br />
Es gibt sogenannte Debugger. Damit kannst du Breakpoints im Sourcecode setzen und beim Ausführen hält dein Programm dort an und zeigt dir alle Variablen mit aktuellem Wert an. Da kannst du dann überprüfen, ob das stimmt was da zu sehen ist.</p>
<p>Für Windows kann ich Visual Studio mit seinem Debugger empfehlen, der ist echt einer der Besten, die es gibt (wie ich finde, der Compiler ist etwas verschrien hier im Forum).<br />
Weiter reicht mein Horizont auch grad nicht, ausser einem Namen: gdb für Linux und den GCC Compiler.</p>
<p>Aber zu dem Thema werden dir hier andere noch weiter helfen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409749</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 21 Jul 2014 15:01:30 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 15:04:18 GMT]]></title><description><![CDATA[<p>Das ist ein Missbrauch von NULL <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/2409751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409751</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 21 Jul 2014 15:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 15:16:44 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Also gut find ich das noch immer nicht. Wenn du ein Objekt mit dem Standardkonstruktor erstellst, gibt es kein new. Es gibt aber ein delete wenn es dann zerstört wird. Ein delete ohne new... (delete auf NULL ist zwar ok, aber trotzdem nicht schön)</p>
</blockquote>
<p>Und wie willst du das &quot;lösen&quot;? Entweder im Standardkonstruktor noch ein sinnloses new, oder im Destruktor auf Null abfragen -- beides schlechtere Alternativen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409753</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 21 Jul 2014 15:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to Programm kompiliert, stürzt dann aber ab on Mon, 21 Jul 2014 15:58:17 GMT]]></title><description><![CDATA[<p>Da gibt's gar nix zu &quot;lösen&quot;, das delete NULL ist in solchen Fällen vollkommen OK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2409766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2409766</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 21 Jul 2014 15:58:17 GMT</pubDate></item></channel></rss>