<?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[Mengen Klasse]]></title><description><![CDATA[<p>Hallo,<br />
ich habe gerade gemäß Aufgabe in meinem C++ Buch eine Klasse für eine Menge programmiert. Könnte sich das bitte mal jemand anschauen, und sagen, was man noch besser machen kann?</p>
<p>class.h:</p>
<pre><code class="language-cpp">#ifndef CLASS_H
#define CLASS_H
#include &lt;vector&gt;

class IntMenge {

private:
	std::vector&lt;int&gt; Menge;
public:
	void hinzufuegen(int el);
	void entfernen(int el);
	bool istMitglied(int el);
	size_t size();
	void anzeigen();
	void loeschen();
	int getMax();
	int getMin();
};

#endif
</code></pre>
<p>class.cpp:</p>
<pre><code class="language-cpp">#include&quot;class.h&quot;
#include&lt;iostream&gt;
#include&lt;vector&gt;
using namespace std;

bool IntMenge::istMitglied(int el) {
	for(size_t i=0; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)==el) return true;
	}
	return false;
}

void IntMenge::hinzufuegen(int el) {
	if(!istMitglied(el)) Menge.push_back(el);
}

size_t IntMenge::size() {
	return Menge.size();
}

int IntMenge::getMin() {
	if (Menge.size()==0) return 0;
	int min=Menge.at(0);
	for(size_t i=1; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)&lt;min) min=Menge.at(i);
	}
	return min;
}

int IntMenge::getMax() {
	if (Menge.size()==0) return 0;
	int max=Menge.at(0);
	for(size_t i=1; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)&gt;max) max=Menge.at(i);
	}

	return max;
}

void IntMenge::anzeigen() {
	cout &lt;&lt; &quot;[&quot;;
	for(size_t i=0; i&lt;(Menge.size()); ++i) {
		cout &lt;&lt; Menge.at(i);
		if(i!=Menge.size()-1) cout &lt;&lt; &quot;,&quot;;
	}
	cout &lt;&lt;&quot;]&quot; &lt;&lt; endl;	
	cout &lt;&lt; &quot;Anzahl: &quot; &lt;&lt; Menge.size() &lt;&lt; endl;
	cout &lt;&lt; &quot;Min: &quot; &lt;&lt; getMin() &lt;&lt; endl;
	cout &lt;&lt; &quot;Max: &quot; &lt;&lt; getMax() &lt;&lt; endl &lt;&lt; endl;
}

void IntMenge::loeschen () {
	Menge.clear();
}

void IntMenge::entfernen(int el) {
	for(size_t i=0; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)==el) {
			Menge.erase(Menge.begin()+i);
			break;
		}
	}
}
</code></pre>
<p>Viele Grüße und besten Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262796/mengen-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 12:45:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262796.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Mar 2010 13:42:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 13:42:54 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe gerade gemäß Aufgabe in meinem C++ Buch eine Klasse für eine Menge programmiert. Könnte sich das bitte mal jemand anschauen, und sagen, was man noch besser machen kann?</p>
<p>class.h:</p>
<pre><code class="language-cpp">#ifndef CLASS_H
#define CLASS_H
#include &lt;vector&gt;

class IntMenge {

private:
	std::vector&lt;int&gt; Menge;
public:
	void hinzufuegen(int el);
	void entfernen(int el);
	bool istMitglied(int el);
	size_t size();
	void anzeigen();
	void loeschen();
	int getMax();
	int getMin();
};

#endif
</code></pre>
<p>class.cpp:</p>
<pre><code class="language-cpp">#include&quot;class.h&quot;
#include&lt;iostream&gt;
#include&lt;vector&gt;
using namespace std;

bool IntMenge::istMitglied(int el) {
	for(size_t i=0; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)==el) return true;
	}
	return false;
}

void IntMenge::hinzufuegen(int el) {
	if(!istMitglied(el)) Menge.push_back(el);
}

size_t IntMenge::size() {
	return Menge.size();
}

int IntMenge::getMin() {
	if (Menge.size()==0) return 0;
	int min=Menge.at(0);
	for(size_t i=1; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)&lt;min) min=Menge.at(i);
	}
	return min;
}

int IntMenge::getMax() {
	if (Menge.size()==0) return 0;
	int max=Menge.at(0);
	for(size_t i=1; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)&gt;max) max=Menge.at(i);
	}

	return max;
}

void IntMenge::anzeigen() {
	cout &lt;&lt; &quot;[&quot;;
	for(size_t i=0; i&lt;(Menge.size()); ++i) {
		cout &lt;&lt; Menge.at(i);
		if(i!=Menge.size()-1) cout &lt;&lt; &quot;,&quot;;
	}
	cout &lt;&lt;&quot;]&quot; &lt;&lt; endl;	
	cout &lt;&lt; &quot;Anzahl: &quot; &lt;&lt; Menge.size() &lt;&lt; endl;
	cout &lt;&lt; &quot;Min: &quot; &lt;&lt; getMin() &lt;&lt; endl;
	cout &lt;&lt; &quot;Max: &quot; &lt;&lt; getMax() &lt;&lt; endl &lt;&lt; endl;
}

void IntMenge::loeschen () {
	Menge.clear();
}

void IntMenge::entfernen(int el) {
	for(size_t i=0; i&lt;(Menge.size()); ++i) {
		if(Menge.at(i)==el) {
			Menge.erase(Menge.begin()+i);
			break;
		}
	}
}
</code></pre>
<p>Viele Grüße und besten Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867505</guid><dc:creator><![CDATA[Mario..]]></dc:creator><pubDate>Thu, 11 Mar 2010 13:42:54 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 13:50:38 GMT]]></title><description><![CDATA[<p>Sieht eigentlich gut aus, mir sind nur zwei kleine Sachen aufgefallen:<br />
Die Dateien immer nach der Klasse bennen, genauso wie die Include Guards.<br />
In deriner ausgeben() Funktion solltest du die eigene size() Funktion statt Menge.size() verwenden.</p>
<p>#edit: Achso, prinzipiell lieber kein using namespace verwenden sondern namespaces ausschreiben, kannst es hier aber auch so lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867511</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Thu, 11 Mar 2010 13:50:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 13:48:58 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>deutsch-englisch-gemischte Namen sind sehr unschön.<br />
'0' kann ein Element der Menge sein. Doof, dass getMin/getMax stumpf 0 zurück geben,<br />
wenn die Menge leer ist.<br />
Zum finden der Elemente könntest du auch die fertigen Funktionen aus der vector-Klasse nehmen,<br />
statt da elber durch zu iterieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867512</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 13:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 13:49:14 GMT]]></title><description><![CDATA[<p>1.) const correctness</p>
<p>2.) size_t size();<br />
genaugenommen liegt size_t im namensraum std. (und benötigt ein include: <code>cstddef</code> )</p>
<p>3.)</p>
<pre><code class="language-cpp">bool IntMenge::istMitglied(int el) {
    for(size_t i=0; i&lt;(Menge.size()); ++i) {
        if(Menge.at(i)==el) return true;
    }
    return false;
}
</code></pre>
<p>für so etwas würde es std::find geben.<br />
Wenn du das schon von hand machen möchtest, dann nimm doch bitte den operator[] und nicht at:</p>
<pre><code class="language-cpp">bool IntMenge::istMitglied(int el) {
    for(size_t i=0; i&lt;(Menge.size()); ++i) {
        if(Menge[i]==el) return true;
    }
    return false;
}
</code></pre>
<p>die klammern( <code>i&lt;(Menge.size())</code> ) sind übrigens sehr verwirrend</p>
<p>gibt sicher noch andere kleinigkeiten, im großen und ganzen aber nicht schlecht.</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867513</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 11 Mar 2010 13:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 13:59:29 GMT]]></title><description><![CDATA[<p>vielen dank für das Feedback. Das war meine erste komplett selbst geschriebene Klasse ich bin daher noch recht unerfahren. Ich habe die Dateien class genannt, da ich das Projekt gleich noch für andere Testzwecke verwenden möchte um nicht immer ein neues anlegen zu müssen.<br />
.at habe ich benutzt, um auf eventuelle Berichsüberschreitung informiert zu werden, da ich eben noch nicht so erfahren bin. Das könnte ich ja noch problemlos durch [] ersetzen.<br />
Zu find() und sort(). Die STL wurde in dem Buch noch nicht verwendet. Ich habe mir aber mal zum testen eine Methode geschrieben, die meine Menge sortiert:</p>
<pre><code class="language-cpp">void IntMenge::sortieren() {
	sort( Menge.begin(), Menge.end() );
}
</code></pre>
<p>Die STL geht ja ganz gut zu handhaben.</p>
<p>Wie könnte ich das denn gestalten, mit min und max bei leerer Menge?</p>
<p>Und was meinst du mit:<br />
1.) const correctness ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867520</guid><dc:creator><![CDATA[Mario..]]></dc:creator><pubDate>Thu, 11 Mar 2010 13:59:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 14:11:02 GMT]]></title><description><![CDATA[<p><a href="http://lmgtfy.com/?q=const+correctness" rel="nofollow">const correctness</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867525</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 11 Mar 2010 14:11:02 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 14:17:46 GMT]]></title><description><![CDATA[<p>Mario.. schrieb:</p>
<blockquote>
<p>Wie könnte ich das denn gestalten, mit min und max bei leerer Menge?</p>
</blockquote>
<p>assert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867527</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 11 Mar 2010 14:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 14:29:28 GMT]]></title><description><![CDATA[<p>statt assert würde ich eher eine exception werfen.<br />
Assert beendet doch das programm, oder? Während eine Exception dann vom Aufrufer behandelt werden könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867530</guid><dc:creator><![CDATA[Carstig]]></dc:creator><pubDate>Thu, 11 Mar 2010 14:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 14:30:35 GMT]]></title><description><![CDATA[<p>blub² schrieb:</p>
<blockquote>
<p>#edit: Achso, prinzipiell lieber kein using namespace verwenden sondern namespaces ausschreiben, kannst es hier aber auch so lassen.</p>
</blockquote>
<p>Das ist übertrieben. using in Headern ist (in 99% der Fälle) böse, aber in Source-Dateien macht das überhaupt nichts, weil die Auswirkungen in einem kontrollierbaren Bereich bleiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867531</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 11 Mar 2010 14:30:35 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 14:31:28 GMT]]></title><description><![CDATA[<p>Carstig schrieb:</p>
<blockquote>
<p>statt assert würde ich eher eine exception werfen.<br />
Assert beendet doch das programm, oder? Während eine Exception dann vom Aufrufer behandelt werden könnte.</p>
</blockquote>
<p>Wie willst Du einen Programmierfehler behandeln?<br />
Nee, assert ist hier das Mittel der Wahl. Wir betreiben ja kein Java.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867533</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 11 Mar 2010 14:31:28 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 14:34:29 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Nee, assert ist hier das Mittel der Wahl. Wir betreiben ja kein Java.</p>
</blockquote>
<p>Sehe ich aber auch anders.<br />
Es ist doch völlig okay in einer (vorhandenen) leeren Menge nach dem Maximum zu fragen.<br />
Ich krieg ja auch kein assert, wenn ich in einem leeren String suche.<br />
Ich dachte eher daran die Funktion in z.B.</p>
<pre><code class="language-cpp">bool findMax(int&amp; result) const {...}
</code></pre>
<p>umzuändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867534</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 14:34:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:11:07 GMT]]></title><description><![CDATA[<p>Gut das const hatte ich ganz vergessen:</p>
<pre><code class="language-cpp">class IntMenge {

private:
	std::vector&lt;int&gt; Menge;
public:
	void hinzufuegen(const int el);
	void entfernen(const int el);
	bool istMitglied(const int el) const;
	size_t size() const;
	void anzeigen() const;
	void loeschen();
	int getMax() const;
	int getMin() const;
	void sortieren();
};
</code></pre>
<p>Noch eine Frage. Was hat es denn für einen Vorteil meine eigene Methode size() anstatt Menge.size() zu nutzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867549</guid><dc:creator><![CDATA[Mario..]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:12:33 GMT]]></title><description><![CDATA[<p>ich sehe gerade...sollte vor den Rückgabetyp auch ein const?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867551</guid><dc:creator><![CDATA[Mario..]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:12:33 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:17:10 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Carstig schrieb:</p>
<blockquote>
<p>statt assert würde ich eher eine exception werfen.<br />
Assert beendet doch das programm, oder? Während eine Exception dann vom Aufrufer behandelt werden könnte.</p>
</blockquote>
<p>Wie willst Du einen Programmierfehler behandeln?<br />
Nee, assert ist hier das Mittel der Wahl. Wir betreiben ja kein Java.</p>
</blockquote>
<p>Ich dachte eher an den Anwendungs-Fall, wenn getMin/Max auf eine leere Menge aufgerufen wird. Dann würde ich statt 0 zurückzugeben eher eine Exception werfen.<br />
Denn 0 könnte ja, bei einer Menge mit nur einem Element mit dem Wert 0, durchaus ein korrekter Min/Max-Wert sein.<br />
... bei einer leeren Menge entspricht 0 nicht wirklich dem Min/Max-Wert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867552</guid><dc:creator><![CDATA[Carstig]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:18:41 GMT]]></title><description><![CDATA[<p>Mario.. schrieb:</p>
<blockquote>
<p>Noch eine Frage. Was hat es denn für einen Vorteil meine eigene Methode size() anstatt Menge.size() zu nutzen?</p>
</blockquote>
<p>Da 'Menge' richtigerweise private ist, kannst du Menge.size() ja ausserhalb der Klasse gar nicht nutzen.</p>
<blockquote>
<p>ch sehe gerade...sollte vor den Rückgabetyp auch ein const?</p>
</blockquote>
<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867554</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:21:00 GMT]]></title><description><![CDATA[<p>Das sind ja aber alles Klassenmethoden und da kann ich ja auf die Private Eigenschaften zugreifen. Und wieso sollte vor den Rückgabetyp kein const?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867556</guid><dc:creator><![CDATA[Mario..]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:26:25 GMT]]></title><description><![CDATA[<blockquote>
<p>... bei einer leeren Menge entspricht 0 nicht wirklich dem Min/Max-Wert.</p>
</blockquote>
<p>Sicher nicht, aber ein Mathematiker haut dir auch keine runter, wenn du nach dem<br />
Maximum einer Menge fragst, die kein Maximum hat.<br />
Das ist keine Ausnahme sondern was normales und legitimes.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8760">@Mario</a>..:<br />
Ach verlesen, sry. In deinen eigenen Funktionen ist das so'ne Sache.<br />
Ggf. tauscht du z.B. vector durch ein Array (was zwar doof wäre, aber möglich).<br />
Dann müsstest du nicht deinen kompletten Code ändern, sondern nur die Size-Funktion.<br />
Aber wenn ich mir sicher bin, dass sich da nix ändert, dann rufe ich auch direkt size vom vector auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867558</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:22:21 GMT]]></title><description><![CDATA[<p>Mario.. schrieb:</p>
<blockquote>
<p>ich sehe gerade...sollte vor den Rückgabetyp auch ein const?</p>
</blockquote>
<p>All Deine Funktionen, die einen Rückgabewert liefern, geben diesen als &quot;Value&quot; zurück.<br />
Würden sie Referenzen auf interne, private Member zurückliefern, würde ein const Sinn machen.</p>
<p>zb:</p>
<pre><code class="language-cpp">const std::vector&lt;int&gt; &amp; getPrivateVector() { return Menge; }
</code></pre>
<p>(über die Sinnhaftigkeit obiger Funktion würde ich jetzt aber nicht diskutieren wollen :D)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867559</guid><dc:creator><![CDATA[Carstig]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:22:21 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:30:12 GMT]]></title><description><![CDATA[<p>Jockelx schrieb:</p>
<blockquote>
<blockquote>
<p>... bei einer leeren Menge entspricht 0 nicht wirklich dem Min/Max-Wert.</p>
</blockquote>
<p>Sicher nicht, aber ein Mathematiker haut dir auch keine runter, wenn du nach dem<br />
Maximum einer Menge fragst, die kein Maximum hat.<br />
Das ist keine Ausnahme sondern was normales und legitimes.</p>
</blockquote>
<p>Mathematiker sind ja auch Weicheier &lt;duck und renn&gt;<br />
Nein im Ernst: Ich glaube ein Mathematiker (Los gebt Euch zu erkennen) würde widersprechen, wenn ich sage, der kleinste Wert aller Elemente (getMin) einer leeren Menge ist 0.</p>
<p>Wie man dann diesen Ausnahme/Normalfall in das Methodendesigen einbringt ist Geschmacksache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867566</guid><dc:creator><![CDATA[Carstig]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 15:35:35 GMT]]></title><description><![CDATA[<p>Carstig schrieb:</p>
<blockquote>
<p>(Los gebt Euch zu erkennen)</p>
</blockquote>
<p>Hier!</p>
<p>Carstig schrieb:</p>
<blockquote>
<p>würde widersprechen, wenn ich sage, der kleinste Wert aller Elemente (getMin) einer leeren Menge ist 0.</p>
</blockquote>
<p>Natürlich würde er das. Das haben wir ja lange geklärt.<br />
Es gibt aber unendlich viele Mengen ohne Minimum und wenn diese Klasse Mengen darstellt,<br />
soll sie mir bitte diesen Normalfall nicht mit einem assert oder einer Exception quittieren,<br />
wenn ich danach frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867570</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 15:35:35 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 16:03:16 GMT]]></title><description><![CDATA[<p>Was hälst du von einer STL konformen Lösung, indem du einen Iterator für das Minimum/Maximum zurückgibst (oder zumindest einen Pointer darauf)? Damit hätten wir auch beide Diskussionspunkte zusammengeführt <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>
<pre><code class="language-cpp">class IntMenge
{
   ...
public:
   int const* getmaximum() const
   {
      if( true == empty() )
      {
         // kein Maximum
         return 0;
      }
      return (Adresse des Maximums);
   }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1867579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867579</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 11 Mar 2010 16:03:16 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 16:13:11 GMT]]></title><description><![CDATA[<p>Ist es nicht eher problematisch Pointer auf std::vector Elemente rauszugeben?<br />
Was wenn der std::vector intern seinen Buffer beim vergrößern verlagert? Dann stimmen doch die ganzen Pointer nicht mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867585</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Thu, 11 Mar 2010 16:13:11 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 16:13:43 GMT]]></title><description><![CDATA[<p>Ich jetzt? Nix <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 />
Wie gesagt, ich finde die ganze Funktion 'getMax' falsch, da Sie suggeriert, dass<br />
es immer ein Maximum geben müsste, was ja nicht der Fall ist.<br />
Ich würde wie oben das ganze find.. oder exists.. oder so nennen und bool zurückgeben und den Wert als Referenz.<br />
Jetzt hab ich mich aber auch ausreichend zu dem doch eher unwichtigen Punkt geäussert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867586</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 16:13:43 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 16:15:56 GMT]]></title><description><![CDATA[<p>Wenn der Mathematiker das Minimum einer leeren Menge holt, ist der Beweis einfach kaputt. Er hätte sich aber mal fein einen Bleistift gewünscht, der ein geeignetes assert eingebaut hat, und zerbricht, wenn man so einen Unfug schreibt.<br />
Exceptions sind echt zu weich für echte Programmierfehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867587</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 11 Mar 2010 16:15:56 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 16:23:09 GMT]]></title><description><![CDATA[<p>Der Mathematiker wird in Beweisen sehr oft nutzen, dass eine Menge kein Minimum hat.<br />
Insbesondere falls Mario sich überlegt seine Menge mal nicht mehr durch einen vector, sondern durch eine z.B. stetige Funktion zu representieren,<br />
ist die getMax-Funktion mit assert oder Exception schrott.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867591</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 11 Mar 2010 16:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Mengen Klasse on Thu, 11 Mar 2010 16:26:33 GMT]]></title><description><![CDATA[<p>Jockelx schrieb:</p>
<blockquote>
<p>Der Mathematiker wird in Beweisen sehr oft nutzen, dass eine Menge kein Minimum hat.<br />
Insbesondere falls Mario sich überlegt seine Menge mal nicht mehr durch einen vector, sondern durch eine z.B. stetige Funktion zu representieren,<br />
ist die getMax-Funktion mit assert oder Exception schrott.</p>
</blockquote>
<p>Ich höre deine Worte, doch sie ergeben leider keinen Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867593</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 11 Mar 2010 16:26:33 GMT</pubDate></item></channel></rss>