<?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[Werte setzen und lesen aus Klassen]]></title><description><![CDATA[<p>Welche Form findet ihr besser? Und warum?</p>
<p>Form1:</p>
<pre><code class="language-cpp">class Foo
{
  void setValue( int i );
  int  getValue() const;
};

//Anwendung:
Foo f;
f.setValue( 1 );
cout &lt;&lt; g.getValue();
</code></pre>
<p>Form2:</p>
<pre><code class="language-cpp">class Foo
{
  void value( int i );
  int value() const;
};

//Anwendung:
Foo f;
f.value( 1 );
cout &lt;&lt; f.value();
</code></pre>
<p>Ich verwende meist Variante2, wenn man den Bezeichner ordentlich wählt, stört das fehlende set/get nicht. Zugegeben bei dem Beispiel hier liest sich Form1 besser, aber das ist ja auch keine reale Anwendung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>zb bei den iostreams wird form2 verwendet</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139292/werte-setzen-und-lesen-aus-klassen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 12:36:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139292.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Mar 2006 13:53:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Werte setzen und lesen aus Klassen on Sun, 05 Mar 2006 13:53:00 GMT]]></title><description><![CDATA[<p>Welche Form findet ihr besser? Und warum?</p>
<p>Form1:</p>
<pre><code class="language-cpp">class Foo
{
  void setValue( int i );
  int  getValue() const;
};

//Anwendung:
Foo f;
f.setValue( 1 );
cout &lt;&lt; g.getValue();
</code></pre>
<p>Form2:</p>
<pre><code class="language-cpp">class Foo
{
  void value( int i );
  int value() const;
};

//Anwendung:
Foo f;
f.value( 1 );
cout &lt;&lt; f.value();
</code></pre>
<p>Ich verwende meist Variante2, wenn man den Bezeichner ordentlich wählt, stört das fehlende set/get nicht. Zugegeben bei dem Beispiel hier liest sich Form1 besser, aber das ist ja auch keine reale Anwendung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>zb bei den iostreams wird form2 verwendet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1009009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1009009</guid><dc:creator><![CDATA[PreferedSyntax]]></dc:creator><pubDate>Sun, 05 Mar 2006 13:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to Werte setzen und lesen aus Klassen on Sun, 05 Mar 2006 14:19:41 GMT]]></title><description><![CDATA[<p>Für die setter und getter Methoden würde ich dir immer ersteres Empfehlen.<br />
Erleichtert die Lesbarkeit und die Fehlersuche ungemein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1009023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1009023</guid><dc:creator><![CDATA[adinon]]></dc:creator><pubDate>Sun, 05 Mar 2006 14:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to Werte setzen und lesen aus Klassen on Sun, 05 Mar 2006 15:21:07 GMT]]></title><description><![CDATA[<p>Das ist Geschmackssache. Ich persönlich neige eher zu Variante 2, da es im allgemeinen eh' klar ist gemeint ist. Ansonsten versuche ich, die Klasse-Struktur so zu gestalten, dass gar keine Getter/Setter-Methoden auftreten. Maximal eine von beiden. Sind beide Methoden für einen Member einer Klasse vorhanden, so würde ich das schon pauschal als Design-Fehler bezeichnen.</p>
<p>Beispiel: wenn Du das '[get]Value() const' nur zur Ausgabe von Informationen benötigst, so ist ein Streaming-Operator für 'Foo' die angesagte Alternative.<br />
Vorteil: bei Erweiterungen oder Änderungen von 'Foo', muss der Anwender keinen Code ändern - und das ist ja genau der Sinn einer Klasse - das Verbergen von Internas vor dem Anwender.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1009043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1009043</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sun, 05 Mar 2006 15:21:07 GMT</pubDate></item></channel></rss>