<?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[&#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27;]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin Java auf C++ - Umsteiger und habe jetzt dementsprechend einige Fragen.<br />
Konkret hab ich hier eine Aufgabe wo der Main teil schon fertig ist und man<br />
soll eine Klasse &quot;Intervall&quot; erstellen: <a href="http://www.wst.univie.ac.at/~wanek/prgersatz/20130227/praktisch.pdf" rel="nofollow">http://www.wst.univie.ac.at/~wanek/prgersatz/20130227/praktisch.pdf</a></p>
<p><strong>1.ENUM Frage:</strong><br />
jetzt gibt es 4 Arten von Intervallen, jeweils mit anderen Klammern:<br />
geschlossen [a,b,]<br />
offen (a,b)<br />
linksoffen (a,b]<br />
rechtsoffen [a,b)</p>
<p>mein Klassen code sieht mal so aus:</p>
<pre><code>class Intervall{
private:
	double oben;
	double unten;
	enum Typ {geschlossen,offen,linksoffen,rechtsoffen};
public:
	Intervall(double oben, double unten);
	double len() const;
};

Intervall::Intervall(double oben,double unten){
	if(oben&lt;unten){
		throw 0;
	}

	this-&gt;oben = oben;
	this-&gt;unten = unten;
}
</code></pre>
<p>Jetzt ist im Main teil aber dieses Codestück:</p>
<pre><code>...
	Intervall i1(1,3);// [1,3] default-Intervall ist geschlossen
	Intervall i2(1,4,Intervall::linksoffen);	// (1,4]
	Intervall i3(1,4,Intervall::rechtsoffen);	// [1,4)
...
</code></pre>
<p>Brauch ich hier einen zweiten Konstuktor? Und auf was wird bei <em>Intervall::linksoffen</em> zugegriffen??<br />
Mein gedanke war, dass ich überprüfe welches enum ich übermittelt bekomme und dementsprechend die korrekten Klammern setzte. Also z.b:</p>
<pre><code>if(Typ == 0){  //0 ist gleich enum &quot;geschlossen&quot;
cout &lt;&lt; &quot;[&quot; &lt;&lt; a &lt;&lt; b &lt;&lt; &quot;]&quot; &lt;&lt; endl;
}
</code></pre>
<p><strong>2.Objekt-Ausgabe Frage</strong><br />
Außerdem weiß ich nicht sicher wie man eine Klasse ausgeben kann.. in der Main ist vorgeschrieben:</p>
<pre><code>..
cout &lt;&lt; i1 &lt;&lt; endl;     // Ausgabe: [1,3]
..
</code></pre>
<p>In Java ist es möglich in eine Klasse eine toString() methode zu schreiben und somit konnte man einfach im Main ausgeben. Aber erstens darf ich hier vermutlich keine Strings verwenden (&quot;keine weiteren includes&quot;) und zweitens weiß ich net wie ich einfach durch &quot;cout &lt;&lt; 'objekt'&quot; ausgeben kann??</p>
<p>Bitte bitte um Hilfe!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320359/objekt-ausgabe-cout-und-enum-zugriff</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 04:50:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320359.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Sep 2013 11:51:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 11:55:27 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin Java auf C++ - Umsteiger und habe jetzt dementsprechend einige Fragen.<br />
Konkret hab ich hier eine Aufgabe wo der Main teil schon fertig ist und man<br />
soll eine Klasse &quot;Intervall&quot; erstellen: <a href="http://www.wst.univie.ac.at/~wanek/prgersatz/20130227/praktisch.pdf" rel="nofollow">http://www.wst.univie.ac.at/~wanek/prgersatz/20130227/praktisch.pdf</a></p>
<p><strong>1.ENUM Frage:</strong><br />
jetzt gibt es 4 Arten von Intervallen, jeweils mit anderen Klammern:<br />
geschlossen [a,b,]<br />
offen (a,b)<br />
linksoffen (a,b]<br />
rechtsoffen [a,b)</p>
<p>mein Klassen code sieht mal so aus:</p>
<pre><code>class Intervall{
private:
	double oben;
	double unten;
	enum Typ {geschlossen,offen,linksoffen,rechtsoffen};
public:
	Intervall(double oben, double unten);
	double len() const;
};

Intervall::Intervall(double oben,double unten){
	if(oben&lt;unten){
		throw 0;
	}

	this-&gt;oben = oben;
	this-&gt;unten = unten;
}
</code></pre>
<p>Jetzt ist im Main teil aber dieses Codestück:</p>
<pre><code>...
	Intervall i1(1,3);// [1,3] default-Intervall ist geschlossen
	Intervall i2(1,4,Intervall::linksoffen);	// (1,4]
	Intervall i3(1,4,Intervall::rechtsoffen);	// [1,4)
...
</code></pre>
<p>Brauch ich hier einen zweiten Konstuktor? Und auf was wird bei <em>Intervall::linksoffen</em> zugegriffen??<br />
Mein gedanke war, dass ich überprüfe welches enum ich übermittelt bekomme und dementsprechend die korrekten Klammern setzte. Also z.b:</p>
<pre><code>if(Typ == 0){  //0 ist gleich enum &quot;geschlossen&quot;
cout &lt;&lt; &quot;[&quot; &lt;&lt; a &lt;&lt; b &lt;&lt; &quot;]&quot; &lt;&lt; endl;
}
</code></pre>
<p><strong>2.Objekt-Ausgabe Frage</strong><br />
Außerdem weiß ich nicht sicher wie man eine Klasse ausgeben kann.. in der Main ist vorgeschrieben:</p>
<pre><code>..
cout &lt;&lt; i1 &lt;&lt; endl;     // Ausgabe: [1,3]
..
</code></pre>
<p>In Java ist es möglich in eine Klasse eine toString() methode zu schreiben und somit konnte man einfach im Main ausgeben. Aber erstens darf ich hier vermutlich keine Strings verwenden (&quot;keine weiteren includes&quot;) und zweitens weiß ich net wie ich einfach durch &quot;cout &lt;&lt; 'objekt'&quot; ausgeben kann??</p>
<p>Bitte bitte um Hilfe!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355423</guid><dc:creator><![CDATA[coder88]]></dc:creator><pubDate>Wed, 25 Sep 2013 11:55:27 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 12:02:36 GMT]]></title><description><![CDATA[<p>Du musst deine Klasse entsprechend umschreiben, sodass der Konstruktor auch den Typ des Intervalls nehmen und diesen in der Klasse speichern kann:</p>
<pre><code>class Intervall
{
private:
    double oben;
    double unten;

public:
    enum Typ // Der Typ muss public sein.
    {
        geschlossen,
        offen,
        linksoffen,
        rechtsoffen
    };

private:
    Typ typ;

public:
    Intervall(double oben, double unten, Typ);
    double len() const;
};
</code></pre>
<pre><code>Intervall::Intervall( double oben,
                      double unten,
                      Typ t ) : // Mit diesem Doppelpunkt beginnst du eine Initialisierungsliste
    oben(oben), 
    unten(unten),
    typ(t)
{
    if(oben &lt; unten)
        throw std::invalid_argument(&quot;&quot;); // Statt 0 solltest du schon eine richtige Exception-Klasse werfen, evt. mit Nachricht
}
</code></pre>
<blockquote>
<p>Außerdem weiß ich nicht sicher wie man eine Klasse ausgeben kann..</p>
</blockquote>
<p>Indem du den operator&lt;&lt; überlädst. Das wäre die fortgeschrittenere Variante. Sonst kannst du auch vorerst eine Methode print_to(std::ostream&amp; os) schreiben.</p>
<p>Aber zu erklären, wie das alles funktioniert, das würde den Rahmen dieses Threads sprengen. Lernst du mit einem Buch? Wenn nein, dann verweise ich dich auf die <a href="http://www.c-plusplus.net/forum/310212" rel="nofollow">Linkliste</a>.</p>
<pre><code>if(Typ == 0)
</code></pre>
<p>Diese Abfrage sollte lieber den Enumerator nehmen:</p>
<pre><code>if(typ == /*Invervall::*/geschlossen)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2355429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355429</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 25 Sep 2013 12:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 12:07:45 GMT]]></title><description><![CDATA[<p>coder88 schrieb:</p>
<blockquote>
<p>Jetzt ist im Main teil aber dieses Codestück:</p>
<pre><code>...
	Intervall i1(1,3);// [1,3] default-Intervall ist geschlossen
	Intervall i2(1,4,Intervall::linksoffen);	// (1,4]
	Intervall i3(1,4,Intervall::rechtsoffen);	// [1,4)
...
</code></pre>
<p>Brauch ich hier einen zweiten Konstuktor?</p>
</blockquote>
<p>Ich würde einen Konstruktor schreiben, der den Intervall-Typ als drittes Argument beinhaltet. Hier kannst du dann Intervall::geschlossen als default-Parameter setzen.</p>
<p>coder88 schrieb:</p>
<blockquote>
<pre><code>..
cout &lt;&lt; i1 &lt;&lt; endl;     // Ausgabe: [1,3]
..
</code></pre>
<p>In Java ist es möglich in eine Klasse eine toString() methode zu schreiben und somit konnte man einfach im Main ausgeben.</p>
</blockquote>
<p>operator&lt;&lt; überladen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355435</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 25 Sep 2013 12:07:45 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 13:10:30 GMT]]></title><description><![CDATA[<p>Danke für die rasche Antwort! Hat mir sehr geholfen!!<br />
Ich lerne mithilfe des Buches &quot;Einstieg in C++&quot; von Galileo Computing.</p>
<p>Hab jetzt weitergearbeitet bin mir aber nicht sicher beim überschreiben des Ausgabeoperators:</p>
<pre><code>#include&lt;iostream&gt;
using namespace std; 

class Intervall{
public:
	enum Typ {geschlossen,offen,linksoffen,rechtsoffen};
	Intervall(double o, double u, Typ);
	char getKlammerRechts() const;
	char getKlammerLinks() const;
	bool contains(Intervall i) const;
private:
	double oben;
	double unten;
	Typ typ;
public:
	inline double len() const {return (oben-unten);} //Gibt Intervall-Länge zurück
};

//Konstruktor
Intervall::Intervall(double o,double u, Typ t):
oben(o),
	unten(u),
	typ(t)
{
	if(o&lt;u)
	{
		throw invalid_argument(&quot;&quot;);
	}
}

char Intervall::getKlammerRechts() const
{
	switch(typ)
	{
	case geschlossen:
	case linksoffen:
		return ']';
	case offen:
	case rechtsoffen:
		return ')';
	}
}

char Intervall::getKlammerLinks() const
{
	switch(typ)
	{
	case geschlossen:
	case rechtsoffen:
		return '[';
	case offen:
	case linksoffen:
		return '(';
	}
}

//Ueberladen des AusgabeOperators
ostream&amp; operator&lt;&lt;(ostream&amp; Stream, const Intervall&amp; i)
{
	return Stream &lt;&lt; i.getKlammerLinks() &lt;&lt; unten &lt;&lt; &quot;, &quot; &lt;&lt; oben &lt;&lt; i.getKlammerRechts(); 
}
</code></pre>
<p>Wie kann ich denn auf die <strong>Klassenvariablen unten,oben zugreifen</strong>? Die sind ja private und ich hab hier eine Globale Funktion.. seh ich das mal richtig?<br />
Dann hätte ich gedacht ich bau einfach getter und setter dafür ein, aber vermutlich ist es besser mit Zeiger zu arbeiten??<br />
Das Zeiger konzept ist mir nur noch nicht so geläufig, da ich ja Java gewohnt war <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 />
Wäre also für Lösungsvorschläge seeeeehr dankbar!!</p>
<p>Außerdem hab ich das mit ostream hauptsächlich aus dem Buch. Was bedeutet denn das <strong>&amp;-Zeichen NACH</strong> dem ostream&amp; und Intervall&amp;?!<br />
Davor bekomme ich die Adresse der Variablen, das ist mir schon klar. Aber danach?!</p>
<p>Danke im Vorraus für die Aufklärung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355462</guid><dc:creator><![CDATA[coder88]]></dc:creator><pubDate>Wed, 25 Sep 2013 13:10:30 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 13:09:45 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Aber zu erklären, wie das alles funktioniert, das würde den Rahmen dieses Threads sprengen.</p>
</blockquote>
<p>Also so schwer ist das jetzt auch nicht:</p>
<pre><code>// H-File
#include &lt;iosfwd&gt;
class Intervall
{
public: // public-Methoden schreibt man in C++ zuerst
    enum Typ // Der Typ muss public sein.
    {
        geschlossen,
        offen,
        linksoffen,
        rechtsoffen
    };
    Intervall();
    Intervall( double oben, double unten, Typ typ = geschlossen ); // ich hätte hier eher rechtsoffen als Default bevorzugt
    double len() const;

    friend std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const Intervall&amp; i );

private: // .. was hier steht ist privat und für den Anwender weniger interessant
    double oben;
    double unten; 
    Typ typ;

    static char left_brace[4];
    static char right_brace[4];
};

// CPP-File
#include &lt;ostream&gt;
char Intervall::left_brace[] = { '[', '(', '(', '[' }; 
char Intervall::right_brace[] = { ']', ')', ']', ')' }; 

Intervall::Intervall( double oben, // 'links', 'rechts' wäre doch sinnvoller
                      double unten,
                      Typ t ) : // Mit diesem Doppelpunkt beginnst du eine Initialisierungsliste
    oben(oben),
    unten(unten),
    typ(t)
{
    if(oben &lt; unten)
        throw std::invalid_argument(&quot;Intervall: oben &lt; unten&quot;);
}
Intervall::Intervall() : // Defaultkonstruktor -&gt; Intervall mit einem Punkt bei 0
    oben(), // wird so mit 0 belegt
    unten(),
    typ(geschlossen)
{}

std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const Intervall&amp; i )
{
    return out &lt;&lt; Intervall::left_brace[i.typ] &lt;&lt; i.unten &lt;&lt; ';' &lt;&lt; i.oben &lt;&lt; Intervall::right_brace[i.typ];
}

// Demo
#include &lt;iostream&gt;
int main()
{
    using namespace std;
    cout &lt;&lt; Intervall( 2, 1 ) &lt;&lt; endl;
    cout &lt;&lt; Intervall( 2.5, -6.1, Intervall::linksoffen ) &lt;&lt; endl;
    cout &lt;&lt; Intervall( 7.1, 0, Intervall::rechtsoffen ) &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355463</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 25 Sep 2013 13:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 13:18:13 GMT]]></title><description><![CDATA[<blockquote>
<p>Also so schwer ist das jetzt auch nicht:</p>
</blockquote>
<p>Nein, aber ich würde nicht so gerne einfach einen fertigen <code>operator&lt;&lt;</code> hinklatschen und fertig. Er hat es selbst zustande gebracht, aber dennoch.</p>
<p>Übrigens, ohne zu kompilieren, müsste denn <code>left_brace</code> / <code>right_brace</code> nicht <code>public</code> sein (und <code>const</code> )?</p>
<p>Siehst du, so etwas meine ich:</p>
<blockquote>
<p>Was bedeutet denn das &amp;-Zeichen NACH dem ostream&amp; und Intervall&amp;?!</p>
</blockquote>
<p>Das sind Referenzen, und die sind sehr grundlegend. Du solltest unbedingt nochmal weiter vorne Anfangen (oder dir ein besseres Buch besorgen)!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355465</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 25 Sep 2013 13:18:13 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 13:33:07 GMT]]></title><description><![CDATA[<p>coder88 schrieb:</p>
<blockquote>
<p>Ich lerne mithilfe des Buches &quot;Einstieg in C++&quot; von Galileo Computing.</p>
</blockquote>
<p>-&gt;</p>
<blockquote>
<p>(oder dir ein besseres Buch besorgen)!</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2355471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355471</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 25 Sep 2013 13:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 14:25:37 GMT]]></title><description><![CDATA[<blockquote>
<p>Das sind Referenzen, und die sind sehr grundlegend. Du solltest unbedingt nochmal weiter vorne Anfangen (oder dir ein besseres Buch besorgen)!</p>
</blockquote>
<p>nein das buch ist schon toll, liegt eher an mir, da ich es zu sehr überflogen habe. Dachte die Unterschiede von Java zu C++ sind nicht so groß.<br />
Referenzen kenn ich, mir war nur nicht klar, dass man das &amp; auch danach schreiben kann. THX!</p>
<blockquote>
<p>std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const Intervall&amp; i )<br />
{<br />
return out &lt;&lt; Intervall::left_brace[i.typ] &lt;&lt; <strong>i.unten &lt;&lt; ';' &lt;&lt; i.oben &lt;&lt;</strong> Intervall::right_brace[i.typ];<br />
}</p>
</blockquote>
<p>das mit i.unten bzw. i.oben funktioniert bei mir nicht! Dachte auch, dass das so funktioniert, aber ich schätze wegen private hab ich da keinen Zugriff darauf. Brauch ich also getter??<br />
Danke jedenfalls für den aufwand!! Hat mir wieder sehr geholfen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355472</guid><dc:creator><![CDATA[coder88]]></dc:creator><pubDate>Wed, 25 Sep 2013 14:25:37 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 13:57:14 GMT]]></title><description><![CDATA[<p>coder88 schrieb:</p>
<blockquote>
<p>Wie kann ich denn auf die <strong>Klassenvariablen unten,oben zugreifen</strong>? Die sind ja private und ich hab hier eine Globale Funktion.. seh ich das mal richtig?</p>
</blockquote>
<p>Ja - siehst Du richtig.<br />
Zugriff erfolgt wie bei public Members - also:</p>
<pre><code>//Ueberladen des AusgabeOperators
ostream&amp; operator&lt;&lt;(ostream&amp; Stream, const Intervall&amp; i)
{
	return Stream &lt;&lt; i.getKlammerLinks() &lt;&lt; i.unten &lt;&lt; &quot;, &quot; &lt;&lt; i.oben &lt;&lt; i.getKlammerRechts(); 
}
</code></pre>
<p>.. und damit das möglich ist, deklariere die Funktion als friend (s. mein Listing Zeile 17)<br />
getKlammerLinks/Rechts() kannst Du dann private machen.</p>
<p>coder88 schrieb:</p>
<blockquote>
<p>Dann hätte ich gedacht ich bau einfach getter und setter dafür ein, ..</p>
</blockquote>
<p>getter/setter sollte man vermeiden. Besonders setter!</p>
<p>coder88 schrieb:</p>
<blockquote>
<p>..aber vermutlich ist es besser mit Zeiger zu arbeiten??</p>
</blockquote>
<p>In diesem Fall gar nicht. Außerdem löst das das Problem nicht.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355478</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 25 Sep 2013 13:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;Objekt ausgabe (cout)&#x27; und &#x27;enum Zugriff&#x27; on Wed, 25 Sep 2013 14:02:52 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Übrigens, ohne zu kompilieren, müsste denn <code>left_brace</code> / <code>right_brace</code> nicht <code>public</code> sein (und <code>const</code> )?</p>
</blockquote>
<p><code>const</code> ist sinnvoll (hatte ich vergessen); <code>public</code> ist unnötig, da der Zugriff nur aus einer <code>friend</code> -Funktion heraus erfolgt.</p>
<p>.. compilier's halt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355482</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 25 Sep 2013 14:02:52 GMT</pubDate></item></channel></rss>