<?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[Überladener Ausgabeoperator]]></title><description><![CDATA[<p>Hi,</p>
<p>jemand ne Idee wo hier der Fehler liegt? Ich such schon die ganze Zeit.<br />
main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;bullet.hpp&quot;
using namespace std;

int main()
{

    string mystr(&quot;Hallo&quot;);
    int i(10);
    bullet mybullet(mystr, i);
    cout &lt;&lt; mybullet &lt;&lt; endl;
    return 0;

}
</code></pre>
<p>bullet.cpp</p>
<pre><code>#include &quot;bullet.hpp&quot;

std::ostream&amp; operator&lt;&lt;(std::ostream out, const bullet&amp; b)
{
    out &lt;&lt; b.val;
    return out;
}
</code></pre>
<p>bullet.hpp</p>
<pre><code>#ifndef BULLET_HPP
#define BULLET_HPP
#include &lt;string&gt;
#include &lt;iostream&gt;

class bullet
{
public:
    friend std::ostream&amp; operator&lt;&lt;(std::ostream out, const bullet&amp; b);
    bullet(): val(0) {}
    bullet(const std::string&amp; s, const int&amp; i): str(s), val(i) {}

private:

    int val;
    std::string str;
};

#endif // BULLET_HPP
</code></pre>
<p>Ich bekomm da 2 compilerfehler:<br />
1.</p>
<pre><code>/usr/include/c++/4.7/bits/ios_base.h:788: error: 'std::ios_base::ios_base(const std::ios_base&amp;)' is private
</code></pre>
<ol start="2">
<li></li>
</ol>
<pre><code>/usr/include/c++/4.7/bits/basic_ios.h:64: error: within this context
</code></pre>
<p>Übrigens. Wenn man &quot;cout &lt;&lt; mybullet &lt;&lt; endl;&quot; in main auskommentiert compiliert es.<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326509/überladener-ausgabeoperator</link><generator>RSS for Node</generator><lastBuildDate>Mon, 25 May 2026 18:03:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326509.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Jun 2014 19:26:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Überladener Ausgabeoperator on Sat, 21 Jun 2014 19:26:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>jemand ne Idee wo hier der Fehler liegt? Ich such schon die ganze Zeit.<br />
main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;bullet.hpp&quot;
using namespace std;

int main()
{

    string mystr(&quot;Hallo&quot;);
    int i(10);
    bullet mybullet(mystr, i);
    cout &lt;&lt; mybullet &lt;&lt; endl;
    return 0;

}
</code></pre>
<p>bullet.cpp</p>
<pre><code>#include &quot;bullet.hpp&quot;

std::ostream&amp; operator&lt;&lt;(std::ostream out, const bullet&amp; b)
{
    out &lt;&lt; b.val;
    return out;
}
</code></pre>
<p>bullet.hpp</p>
<pre><code>#ifndef BULLET_HPP
#define BULLET_HPP
#include &lt;string&gt;
#include &lt;iostream&gt;

class bullet
{
public:
    friend std::ostream&amp; operator&lt;&lt;(std::ostream out, const bullet&amp; b);
    bullet(): val(0) {}
    bullet(const std::string&amp; s, const int&amp; i): str(s), val(i) {}

private:

    int val;
    std::string str;
};

#endif // BULLET_HPP
</code></pre>
<p>Ich bekomm da 2 compilerfehler:<br />
1.</p>
<pre><code>/usr/include/c++/4.7/bits/ios_base.h:788: error: 'std::ios_base::ios_base(const std::ios_base&amp;)' is private
</code></pre>
<ol start="2">
<li></li>
</ol>
<pre><code>/usr/include/c++/4.7/bits/basic_ios.h:64: error: within this context
</code></pre>
<p>Übrigens. Wenn man &quot;cout &lt;&lt; mybullet &lt;&lt; endl;&quot; in main auskommentiert compiliert es.<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2404966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2404966</guid><dc:creator><![CDATA[Keksman]]></dc:creator><pubDate>Sat, 21 Jun 2014 19:26:55 GMT</pubDate></item><item><title><![CDATA[Reply to Überladener Ausgabeoperator on Sat, 21 Jun 2014 19:33:48 GMT]]></title><description><![CDATA[<p><code>out</code> als Referenz übergeben.</p>
<pre><code class="language-cpp">std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, const bullet&amp; b);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2404967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2404967</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Sat, 21 Jun 2014 19:33:48 GMT</pubDate></item><item><title><![CDATA[Reply to Überladener Ausgabeoperator on Sat, 21 Jun 2014 19:40:56 GMT]]></title><description><![CDATA[<p>Wie recht du doch hast <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="😃"
    /> Danke hab ich voll übersehen<br />
Funktioniert jetzt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2404969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2404969</guid><dc:creator><![CDATA[Keksman]]></dc:creator><pubDate>Sat, 21 Jun 2014 19:40:56 GMT</pubDate></item></channel></rss>