<?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 bei Vektor ausgeben]]></title><description><![CDATA[<p>Guten Tag</p>
<p>Hab ein Problem und zwar möchte ich eine Vektor ausgeben, sprich den Inhalt der Objekte. Versuche es über Iteratoren jedoch kriege ich immer eine Fehlermeldung zum operator &lt;&lt;. Muss ich den zuerst überladen?</p>
<p>std::vector &lt;Account&gt; m_Transactions;<br />
std::vector &lt;Account&gt;::iterator m_Iterator;</p>
<p>std::ostream&amp; operator&lt;&lt;(std::ostream&amp; m_Transactions, Account&amp; rhs);</p>
<p>for (m_Iterator = m_Transactions.begin(); m_Iterator != m_Transactions.end(); m_Iterator++)<br />
cout &lt;&lt; *m_Iterator &lt;&lt; &quot;, &quot;;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320202/probleme-bei-vektor-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 08:28:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320202.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Sep 2013 07:40:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei Vektor ausgeben on Fri, 20 Sep 2013 07:40:04 GMT]]></title><description><![CDATA[<p>Guten Tag</p>
<p>Hab ein Problem und zwar möchte ich eine Vektor ausgeben, sprich den Inhalt der Objekte. Versuche es über Iteratoren jedoch kriege ich immer eine Fehlermeldung zum operator &lt;&lt;. Muss ich den zuerst überladen?</p>
<p>std::vector &lt;Account&gt; m_Transactions;<br />
std::vector &lt;Account&gt;::iterator m_Iterator;</p>
<p>std::ostream&amp; operator&lt;&lt;(std::ostream&amp; m_Transactions, Account&amp; rhs);</p>
<p>for (m_Iterator = m_Transactions.begin(); m_Iterator != m_Transactions.end(); m_Iterator++)<br />
cout &lt;&lt; *m_Iterator &lt;&lt; &quot;, &quot;;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353941</guid><dc:creator><![CDATA[LawC++]]></dc:creator><pubDate>Fri, 20 Sep 2013 07:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Vektor ausgeben on Fri, 20 Sep 2013 07:49:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::vector &lt;Account&gt; m_Transactions;
std::vector &lt;Account&gt;::iterator m_Iterator;

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; m_Transactions, Account&amp; rhs);

for (m_Iterator = m_Transactions.begin(); m_Iterator != m_Transactions.end(); m_Iterator++)
cout &lt;&lt; *m_Iterator &lt;&lt; &quot;, &quot;;
</code></pre>
<p>Die Benamsung lässt ahnen, dass Du etwas den Faden verloren hast. <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>Anyway. Du hast einen <code>vector</code> mit Instanzen von <code>Account</code> , die Du ausgeben willst.<br />
Also musst Du - wie Du auch schon richtig angefangen hast <em>definieren</em>, wie ein <code>Account</code> -Objekt in einen Ausgabestrom eingefügt wird:</p>
<pre><code class="language-cpp">std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, const Account&amp; rhs){
  out &lt;&lt; &quot;Account:\n&quot; &lt;&lt; rhs.member1 &lt;&lt; '\n' &lt;&lt; rhs.member2;
  ...
  return out;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2353948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353948</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Fri, 20 Sep 2013 07:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Vektor ausgeben on Fri, 20 Sep 2013 08:10:24 GMT]]></title><description><![CDATA[<p>Ja das ist gut möglich bin c++ am lernen momentan.</p>
<p>Ich krieg bei deiner Zeile<br />
[code=&quot;cpp&quot;]std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, const Account&amp; rhs)</p>
<p>einen Fehler das ein ; erwartet wird. Zudem hab ich eine frag rhs und ist ein objekt richtig? wiso muss ich um den operator zu überladen ein neues objekt erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353951</guid><dc:creator><![CDATA[LawC++]]></dc:creator><pubDate>Fri, 20 Sep 2013 08:10:24 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Vektor ausgeben on Fri, 20 Sep 2013 08:30:39 GMT]]></title><description><![CDATA[<p>LawC++ schrieb:</p>
<blockquote>
<p>Ich krieg bei deiner Zeile</p>
<pre><code class="language-cpp">std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, const Account&amp; rhs)
</code></pre>
<p>einen Fehler das ein ; erwartet wird. Zudem hab ich eine frag rhs und ist ein objekt richtig? wiso muss ich um den operator zu überladen ein neues objekt erstellen?</p>
</blockquote>
<p>Wo der Fehler ist weiss ich nicht, Du zeigst ja nur einen kleinen Ausschnitt - hast Du denn das komplette Beispiel mit dem gesamten Teil in geschweiften Klammern {} übernommen?</p>
<p><code>rhs</code> ist kein Objekt - <code>rhs</code> ist ein <code>const Account&amp;</code> .<br />
Eine <em>Referenz</em>.<br />
Genauer eine Referenz auf ein konstantes <code>Account</code> Objekt - d.h. über die Referenz kannst Du das referenzierte Objekt nicht verändern. Willst Du ja auch gar nicht - Du willst es ja nur ausgeben. Schau in Deinen Unterlagen nach, was es mit Referenzen auf sich hat.</p>
<p>Da ein Bild bekanntlich mehr sagt als tausend Worte noch ein komplettes (fehlerfreies<sup>TM</sup>) Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

struct Account{
  std::string name, nummer;
};

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, const Account&amp; rhs){
  out &lt;&lt; &quot;Account:\n&quot; &lt;&lt; rhs.name &lt;&lt; '\n' &lt;&lt; rhs.nummer;
  return out;
}

int main(){
  Account accounts[] = {{&quot;LawC++&quot;, &quot;123&quot;}, {&quot;Furble Wurble&quot;, &quot;4711&quot;}};
  std::cout &lt;&lt; accounts[0] &lt;&lt; '\n'
            &lt;&lt; accounts[1] &lt;&lt; '\n';
}
</code></pre>
<p>Das ist übrigens nicht meine richtige Kontonummer... <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/2353956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353956</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Fri, 20 Sep 2013 08:30:39 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Vektor ausgeben on Fri, 20 Sep 2013 09:43:19 GMT]]></title><description><![CDATA[<p>Vielen Dank habs gepackt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2353966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353966</guid><dc:creator><![CDATA[LawC++]]></dc:creator><pubDate>Fri, 20 Sep 2013 09:43:19 GMT</pubDate></item></channel></rss>