<?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[Probleme mit ostream]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein Problem mit dem ostream undzwar hab ich ein Objekt :</p>
<pre><code class="language-cpp">IntMenge{
//[...]
private:
  int n;                   // Zahl der Elemente der Menge
  int menge[Dim];                  // Feld der Elemente der Menge
};
</code></pre>
<p>und will jetzt zur Ausgabe den ostream überladen:</p>
<pre><code class="language-cpp">ostream&amp; operator&lt;&lt;(ostream&amp; o,const IntMenge&amp; ausmenge){ // Ausgabe der Menge auf der Standardausgabe
		int ende=ausmenge.getanz()
		for(int i=0;i&lt;ende ;i++){
			o &lt;&lt; ausmenge.getmenge(i);	
		}

	return o;
	}
</code></pre>
<p>Was aber nicht geht. Könnt ihr mir helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/287046/probleme-mit-ostream</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 15:31:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287046.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 May 2011 07:53:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 07:54:22 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein Problem mit dem ostream undzwar hab ich ein Objekt :</p>
<pre><code class="language-cpp">IntMenge{
//[...]
private:
  int n;                   // Zahl der Elemente der Menge
  int menge[Dim];                  // Feld der Elemente der Menge
};
</code></pre>
<p>und will jetzt zur Ausgabe den ostream überladen:</p>
<pre><code class="language-cpp">ostream&amp; operator&lt;&lt;(ostream&amp; o,const IntMenge&amp; ausmenge){ // Ausgabe der Menge auf der Standardausgabe
		int ende=ausmenge.getanz()
		for(int i=0;i&lt;ende ;i++){
			o &lt;&lt; ausmenge.getmenge(i);	
		}

	return o;
	}
</code></pre>
<p>Was aber nicht geht. Könnt ihr mir helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066641</guid><dc:creator><![CDATA[Mizukage]]></dc:creator><pubDate>Sat, 21 May 2011 07:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 07:57:46 GMT]]></title><description><![CDATA[<p>Was sagt denn dein Compiler dazu? Und wie sehen die Methoden getanz() und getmenge() aus?</p>
<p>ausmenge.n ist auf jeden Fall privat, darauf kann der Ausgabe-Operator nur zugreifen, wenn die Klasse ihn als friend einstuft. Außerdem fehlt am Ende von Zeile 2 ein Semikolon.</p>
<p>PS: Ich hoffe, Dim ist groß genug für alles, was du in Mengen packen willst - ansonsten würde ich statt des Arrays lieber einen std::vector&lt;&gt; verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066642</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 21 May 2011 07:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 07:58:04 GMT]]></title><description><![CDATA[<p>was &quot;geht&quot; nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066644</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sat, 21 May 2011 07:58:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 08:11:11 GMT]]></title><description><![CDATA[<p>-error C2804: Binärer Operator '&lt;&lt;' hat zu viele Parameter<br />
-error C2333: 'IntMenge::operator &lt;&lt;': Fehler in Funktionsdeklaration; Funktionstext wird übersprungen</p>
<p>Die Fehler sind in der Zeile</p>
<pre><code class="language-cpp">ostream&amp; operator&lt;&lt;(ostream&amp; o,const IntMenge&amp; ausmenge){
</code></pre>
<pre><code class="language-cpp">int getanz(){
		return this-&gt;n;
	}

	int getmenge(int n){
		return this-&gt;menge[n];
	}
</code></pre>
<p>Dim ist groß genug :</p>
<pre><code class="language-cpp">const unsigned int Dim=256;
</code></pre>
<p>es sollen nur mit &lt; 10 Zahlen im array gearbeitet werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066648</guid><dc:creator><![CDATA[Mizukage]]></dc:creator><pubDate>Sat, 21 May 2011 08:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 08:12:08 GMT]]></title><description><![CDATA[<p>Kennst du das Schlüsselwort <code>friend</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066649</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 21 May 2011 08:12:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 08:13:59 GMT]]></title><description><![CDATA[<p>Apropos: Mengen sind in der Standardbibliothek implementiert! Sie heissen <code>std::set</code> und sind in <code>&lt;set&gt;</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066651</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 21 May 2011 08:13:59 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 08:16:37 GMT]]></title><description><![CDATA[<p>ja Danke!</p>
<p>Die fehler sind jetzt mit dem friend weg. Jetzt hab ich nurnoch ein paar Konvertierungsfehler. Damit komm ich aber zurecht.</p>
<p>Danke nochmal!</p>
<p>manchmal scheint das einfache so schwierig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066652</guid><dc:creator><![CDATA[Mizukage]]></dc:creator><pubDate>Sat, 21 May 2011 08:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 08:19:54 GMT]]></title><description><![CDATA[<p>Wenn du einen Operator als Klassen-Methode überlädst, wird als erster Operand implizit <code>*this</code> verwendet, deswegen brauchst du dort einen Parameter weniger. Aber das kommt für den Ausgabe-Operator nicht in Frage, weil der erste Operand kein IntMenge ist, sondern ein ostream. Da bleibt dir nur ein globaler Operator (d.h. außerhalb deiner Klasse).</p>
<p>Der nächste (subtile) Fehler liegt in deinen get-Methoden - du willst sie über eine konstante Referenz aufrufen (und außerdem ändern sie den Zustand des Objekts nicht, also solltest du sie auch als konstant definieren:</p>
<pre><code class="language-cpp">int getanz() const
    {
        return this-&gt;n;
    }

    int getmenge(int n) const
    {
        return this-&gt;menge[n];
    }
</code></pre>
<p>Edit:</p>
<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Kennst du das Schlüsselwort <code>friend</code> ?</p>
</blockquote>
<p>friend ist hier nicht mal nötig, die Ausgabe lässt sich komplett über die öffnetliche Schnittstelle implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066654</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 21 May 2011 08:19:54 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 08:30:49 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>friend ist hier nicht mal nötig, die Ausgabe lässt sich komplett über die öffnetliche Schnittstelle implementieren.</p>
</blockquote>
<p>Vielleicht hat er die Getter nur wegen dem Ausgabeoperator implementiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066658</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 21 May 2011 08:30:49 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 09:50:39 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>friend ist hier nicht mal nötig, die Ausgabe lässt sich komplett über die öffnetliche Schnittstelle implementieren.</p>
</blockquote>
<p>Vielleicht hat er die Getter nur wegen dem Ausgabeoperator implementiert.</p>
</blockquote>
<p>Und was bringt eine Menge ohne Getter bitte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066680</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sat, 21 May 2011 09:50:39 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit ostream on Sat, 21 May 2011 11:20:30 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>friend ist hier nicht mal nötig, die Ausgabe lässt sich komplett über die öffnetliche Schnittstelle implementieren.</p>
</blockquote>
<p>Vielleicht hat er die Getter nur wegen dem Ausgabeoperator implementiert.</p>
</blockquote>
<p>Glaube ich in diesem Fall kaum. Generell würde ich friend vermeiden, wenn es wie in diesem Beispiel so einfach zu umgehen geht, denn dadurch erhöht er auch die Kapselung.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066716</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Sat, 21 May 2011 11:20:30 GMT</pubDate></item></channel></rss>