<?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[Reihenfolge der Zugriffsschlüsselwörter in einer Klasse]]></title><description><![CDATA[<p>Hi und sorry ich habe schon wieder eine Frage <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>
<p>Bevorzugt ihr lieber die öffentlichen Schnittstellen an die erster Stelle zu schreiben damit die sofort sichtbar sind, oder schreibt ihr zuerst die privaten Elemente hin?</p>
<p>Variante A</p>
<pre><code class="language-cpp">class Klasse
{
private:
    int wert;

public:
    void wert(int);
    int wert();
};
</code></pre>
<p>Variante B</p>
<pre><code class="language-cpp">class Klasse
{
public:
    void wert(int);
    int wert();

private:
    int wert;
};
</code></pre>
<p>Welche Variante bevorzugt ihr?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272424/reihenfolge-der-zugriffsschlüsselwörter-in-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 21:27:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272424.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Aug 2010 13:54:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 13:54:38 GMT]]></title><description><![CDATA[<p>Hi und sorry ich habe schon wieder eine Frage <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>
<p>Bevorzugt ihr lieber die öffentlichen Schnittstellen an die erster Stelle zu schreiben damit die sofort sichtbar sind, oder schreibt ihr zuerst die privaten Elemente hin?</p>
<p>Variante A</p>
<pre><code class="language-cpp">class Klasse
{
private:
    int wert;

public:
    void wert(int);
    int wert();
};
</code></pre>
<p>Variante B</p>
<pre><code class="language-cpp">class Klasse
{
public:
    void wert(int);
    int wert();

private:
    int wert;
};
</code></pre>
<p>Welche Variante bevorzugt ihr?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941021</guid><dc:creator><![CDATA[cppfrager]]></dc:creator><pubDate>Tue, 17 Aug 2010 13:54:38 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 13:58:08 GMT]]></title><description><![CDATA[<p>Variante 2:<br />
So muss ein fremder Leser sich nicht erst durch unter Umständen lange private Deklerationen wühlen, die ihn eigentlich gar nicht interessieren, bis dann die für ihn relevante öffentliche Schnittstelle kommt.<br />
Mit Variante 2 umgeht man das, die öffentliche Schnittstelle kommt zuerst, ab <code>private:</code> kann man aufhören zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941030</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 17 Aug 2010 13:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 14:01:26 GMT]]></title><description><![CDATA[<p>Variante 1:<br />
Von einem fremden Leser erwarte ich ohnehin, dass er in die Anleitung und nicht in den Header schaut. Der Deklaration ist in erster Linie für mich zum schnellen Nachgucken und Ändern da. Und da sind die private-Sachen viel relevanter, da sich die öffentliche Schnittstelle, wenn überhaupt, nur selten ändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941033</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 17 Aug 2010 14:01:26 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 14:02:52 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Variante 1:<br />
Von einem fremden Leser erwarte ich ohnehin, dass er in die Anleitung und nicht in den Header schaut. Der Deklaration ist in erster Linie für mich zum schnellen Nachgucken und Ändern da. Und da sind die private-Sachen viel relevanter, da sich die öffentliche Schnittstelle, wenn überhaupt, nur selten ändert.</p>
</blockquote>
<p>Dem schließe ich mich an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941035</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 17 Aug 2010 14:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 14:08:43 GMT]]></title><description><![CDATA[<p>Wie unterschiedlich doch die Geschmäcker sind. Stroustrup selbst bevorzugt auch die Variante 2 aus dem selben Gründen die auch ipsec genannt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941038</guid><dc:creator><![CDATA[cppfrager]]></dc:creator><pubDate>Tue, 17 Aug 2010 14:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 14:14:24 GMT]]></title><description><![CDATA[<p>Ich sehe es wie ipsec.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941042</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 17 Aug 2010 14:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 15:00:28 GMT]]></title><description><![CDATA[<p>Ich verwende Variante A ohne das &quot;private&quot; am Anfang. Das ist IMHO auch nicht so schlimm, wenn man den Code entsprechend dokumentiert, so dass man <a href="http://www.stack.nl/~dimitri/doxygen/" rel="nofollow">DoxyGen</a> rüberlaufen lassen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941073</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 17 Aug 2010 15:00:28 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 15:14:34 GMT]]></title><description><![CDATA[<p>Ich würde mir gerne Variante 2 angewöhnen da es einen zusätzlichen Nutzen bringt, nur hätte ich dazu eine Frage. Kommt Doxygen oder wenn ich später mit GUI arbeite die Qt-Doku damit klar dass ich zuerst die öffentliche Schnittstellen deklariere?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941083</guid><dc:creator><![CDATA[cppfrager]]></dc:creator><pubDate>Tue, 17 Aug 2010 15:14:34 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 15:16:55 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Ich sehe es wie ipsec.</p>
</blockquote>
<p>Dito.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941086</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 17 Aug 2010 15:16:55 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 15:17:11 GMT]]></title><description><![CDATA[<p>cppfrager schrieb:</p>
<blockquote>
<p>Ich würde mir gerne Variante 2 angewöhnen da es einen zusätzlichen Nutzen bringt, nur hätte ich dazu eine Frage. Kommt Doxygen oder wenn ich später mit GUI arbeite die Qt-Doku damit klar dass ich zuerst die öffentliche Schnittstellen deklariere?</p>
</blockquote>
<p>DoxyGen hat keine Probleme.<br />
Ich würde mich sehr wundern wenn QtDoc welche hätte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941088</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 17 Aug 2010 15:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 16:47:18 GMT]]></title><description><![CDATA[<p>Ich geb mal ne dritte Meinung: Manchmal Variante A und manchmal Variante B <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>
<p>Wenn ich den Standardkonstruktor als private deklariere dann mach ich den 'private' block zuerst - damit man das sofort sieht.</p>
<p>Ansonsten nehm ich die public Sachen nach oben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941127</guid><dc:creator><![CDATA[antialias]]></dc:creator><pubDate>Tue, 17 Aug 2010 16:47:18 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 17:43:08 GMT]]></title><description><![CDATA[<p>antialias schrieb:</p>
<blockquote>
<p>Wenn ich den Standardkonstruktor als private deklariere dann mach ich den 'private' block zuerst - damit man das sofort sieht.</p>
</blockquote>
<p>Es zwingt dich übrigens keiner, alles in einem Block zu machen. Du kannst auch deinen privaten Konstruktor nach oben machen und trotzdem den ganzen anderen private-Kram nach unten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941155</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 17 Aug 2010 17:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Tue, 17 Aug 2010 18:17:50 GMT]]></title><description><![CDATA[<p>Das wird ja immer ausgebuchster hier <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/1941176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941176</guid><dc:creator><![CDATA[cppfrager]]></dc:creator><pubDate>Tue, 17 Aug 2010 18:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Wed, 18 Aug 2010 06:56:21 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Es zwingt dich übrigens keiner, alles in einem Block zu machen. Du kannst auch deinen privaten Konstruktor nach oben machen und trotzdem den ganzen anderen private-Kram nach unten.</p>
</blockquote>
<p>Stimmt. Man kann natürlich etliche public und private Blöcke machen. Aber <em>das</em> erwartet keiner <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="😃"
    /> (kommt Doxygen mit multiplen Blöcken klar?)</p>
<p>Wenn ich ne lange header-datei lesen muss*, weil ich nach den Zugriffsmethoden suche, dann schau ich an den Anfang. Wenn dort der public Block nicht ist, dann schau ich ans Ende. Wenn der public Block irgendwo im Zwischenraum versteckt wär' fänd' ich das irritierend.</p>
<p>*was ja eigentlich nicht so sein sollte, denn bei ner Headerdatei die über viele Seiten geht ist mit hoher Wahrscheinlichkeit irgendwas im Design faul - aber bei der Software die ich gerade vom Kunden bekommen hab' ist das zum Beispiel so. Insofern:</p>
<blockquote>
<p>Von einem fremden Leser erwarte ich ohnehin, dass er in die Anleitung und nicht in den Header schaut.</p>
</blockquote>
<p>ist sicher der Idealfall - aber gut dokumentierter Code (oder überhaupt extern dokumentierter Code) ist in meiner Erfahrung eher die Ausnahme als die Regel <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1941286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941286</guid><dc:creator><![CDATA[antialias]]></dc:creator><pubDate>Wed, 18 Aug 2010 06:56:21 GMT</pubDate></item><item><title><![CDATA[Reply to Reihenfolge der Zugriffsschlüsselwörter in einer Klasse on Wed, 18 Aug 2010 07:20:01 GMT]]></title><description><![CDATA[<p>Grundsätzlich Variante A, wobei ich nicht nach öffentlichen und nicht öffentlichen Bereiche unterscheide, sondern eher so:</p>
<pre><code class="language-cpp">class TheClass
{
  //----------------------------------------------------------------------------//
  // Attributes                                                                 //
  //----------------------------------------------------------------------------//

private:

  //----------------------------------------------------------------------------//
  // Constructors &amp; Destructor                                                  //
  //----------------------------------------------------------------------------//

public:

private:

  //----------------------------------------------------------------------------//
  // Operators                                                                  //
  //----------------------------------------------------------------------------//

private:

public:

  //----------------------------------------------------------------------------//
  // Methods                                                                    //
  //----------------------------------------------------------------------------//

private:

public:
};
</code></pre>
<p>In dieser Reihenfolge erscheint in den Funktionen/Konstruktoren/Operatoren alles benötigte im allgemeinen zuerst. Ich verwende auch die gleiche Reihenfolge im *.cpp File. Wenn jemand meine Files lesen möchte, dann aus dem Grund, dass er die Implementation verstehen will. Für das andere ist schliesslich die Dokumentation vorhanden. Und wenn jemand den Sourcecode lesen möchte, dann ist es angenehm, wenn er von oben nach unten lesen kann und nicht immer hoch- und runterscrollen muss.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19287">@antialias</a>,<br />
Doxygen hat überhaupt gar keine Probleme mit mehreren Sichtbarkeitsblöcken.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1941291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1941291</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 18 Aug 2010 07:20:01 GMT</pubDate></item></channel></rss>