<?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[Eigene cout Methode]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein kleines Problemchen, und zwar habe ich in meinem Programm eine Klasse Display, über die alle Textausgaben auf dem Bildschirm ausgegeben werden sollen.</p>
<p>Soweit so gut, die Methode sieht folgendermaßen aus:</p>
<pre><code>void Display::stringOutput(string aString)
{
    cout &lt;&lt; aString &lt;&lt; endl;
}
</code></pre>
<p>Bloß wenn ich jetzt etwas in der Art hier ausgeben will:</p>
<pre><code>stringOutput (&quot;lalala&quot; + aString);
</code></pre>
<p>Hab ich die Methode überladen:</p>
<pre><code>void Display::stringOutput(string firstString, string secondString)
{
    cout &lt;&lt; firstString + secondString &lt;&lt; endl;
}
</code></pre>
<p>Was aber, wenn ich etwas in der Manier ausgeben möchte:</p>
<pre><code>stringOutput(&quot;Blabla&quot; + aString + &quot;lalal&quot;);
</code></pre>
<p>Dann müsste ich die Methode ja wieder überladen?</p>
<p>Das kann man doch bestimmt auch eleganter lösen oder ?<br />
Ich möchte nicht für jeden Parameter der dazu kommt, die Methode überladen müssen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Könnt ihr mir da vll. weiterhelfen <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/topic/296173/eigene-cout-methode</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 03:30:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296173.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Nov 2011 13:13:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigene cout Methode on Tue, 29 Nov 2011 13:13:01 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein kleines Problemchen, und zwar habe ich in meinem Programm eine Klasse Display, über die alle Textausgaben auf dem Bildschirm ausgegeben werden sollen.</p>
<p>Soweit so gut, die Methode sieht folgendermaßen aus:</p>
<pre><code>void Display::stringOutput(string aString)
{
    cout &lt;&lt; aString &lt;&lt; endl;
}
</code></pre>
<p>Bloß wenn ich jetzt etwas in der Art hier ausgeben will:</p>
<pre><code>stringOutput (&quot;lalala&quot; + aString);
</code></pre>
<p>Hab ich die Methode überladen:</p>
<pre><code>void Display::stringOutput(string firstString, string secondString)
{
    cout &lt;&lt; firstString + secondString &lt;&lt; endl;
}
</code></pre>
<p>Was aber, wenn ich etwas in der Manier ausgeben möchte:</p>
<pre><code>stringOutput(&quot;Blabla&quot; + aString + &quot;lalal&quot;);
</code></pre>
<p>Dann müsste ich die Methode ja wieder überladen?</p>
<p>Das kann man doch bestimmt auch eleganter lösen oder ?<br />
Ich möchte nicht für jeden Parameter der dazu kommt, die Methode überladen müssen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Könnt ihr mir da vll. weiterhelfen <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/2150477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150477</guid><dc:creator><![CDATA[Hellos]]></dc:creator><pubDate>Tue, 29 Nov 2011 13:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene cout Methode on Tue, 29 Nov 2011 13:17:14 GMT]]></title><description><![CDATA[<p>Da musst du gar nichts überladen. <code>&quot;lalala&quot; + einstring</code> ist ein String. Das heißt, deine Überladung wurde gar nicht benutzt, weil es sowieso nur ein Parameter war.</p>
<p>Ansonsten: Nun rate mal, warum das bei den Streams mit Operatoren gemacht wurde, die man so schön hintereinander schalten kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150478</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 29 Nov 2011 13:17:14 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene cout Methode on Tue, 29 Nov 2011 13:38:16 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ansonsten: Nun rate mal, warum das bei den Streams mit Operatoren gemacht wurde, die man so schön hintereinander schalten kann.</p>
</blockquote>
<p>Was nicht unbedingt eine Eigenschaft von Operatoren ist, bei denen sieht es einfach nur schöner aus.</p>
<pre><code class="language-cpp">class Display
{
public:
    Display(std::ostream&amp; stream) : 
      stream_(stream)
    {}
    template&lt;typename T&gt;
    Display&amp; Output(T t)
    {
        stream_ &lt;&lt; t;
        return *this;
    }
private:
    std::ostream&amp; stream_;
};

template&lt;typename T&gt;
Display&amp; operator &lt;&lt;(Display&amp; display, T t)
{
    display.Output(t);
    return display;
}

int main()
{
    Display display(std::cout);
    display.Output(&quot;hallo&quot;).Output(1).Output(&quot;Welt&quot;);
    display  &lt;&lt; 123 &lt;&lt;  &quot;hello world\n&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2150492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150492</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 29 Nov 2011 13:38:16 GMT</pubDate></item></channel></rss>