<?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[Tool zum Überprufen der Access Modifiers]]></title><description><![CDATA[<p>Hallo,</p>
<p>gibt es für C++ ein Tool, mit dem man überprüfen kann, inwieweit man die Access Modifiers von Member Functions so restriktiv wie möglich gewählt hat?</p>
<p>Soll heissen, dass, z.B. wenn man eine Member Function als public deklariert hat, das Programm aber auch kompilierfähig wäre, wenn man sie als private deklarierte, das Tool dies meldet.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/285838/tool-zum-überprufen-der-access-modifiers</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 05:09:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/285838.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Apr 2011 16:08:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Thu, 28 Apr 2011 16:08:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>gibt es für C++ ein Tool, mit dem man überprüfen kann, inwieweit man die Access Modifiers von Member Functions so restriktiv wie möglich gewählt hat?</p>
<p>Soll heissen, dass, z.B. wenn man eine Member Function als public deklariert hat, das Programm aber auch kompilierfähig wäre, wenn man sie als private deklarierte, das Tool dies meldet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055658</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Thu, 28 Apr 2011 16:08:51 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Thu, 28 Apr 2011 16:40:59 GMT]]></title><description><![CDATA[<p>Ist mir keins bekannt - und macht auch imho wenig Sinn. Schließlich bieten die meisten Klassen mehr Methoden als du in einer bestimmten Anwendungssituation benötigst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055671</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 28 Apr 2011 16:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Thu, 28 Apr 2011 16:42:00 GMT]]></title><description><![CDATA[<p>Warum brauchst du ein Tool dafür? Ob eine Methode const oder non-const ist, gehört mit zum Klassendesign.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055673</guid><dc:creator><![CDATA[Irgendwer]]></dc:creator><pubDate>Thu, 28 Apr 2011 16:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Fri, 29 Apr 2011 06:52:03 GMT]]></title><description><![CDATA[<p>Irgendwer schrieb:</p>
<blockquote>
<p>Warum brauchst du ein Tool dafür? Ob eine Methode const oder non-const ist, gehört mit zum Klassendesign.</p>
</blockquote>
<p>Mit Access Modifiers meinte ich private, protected und public (ich dachte, const läuft unter CV-Modifier).</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>Ist mir keins bekannt - und macht auch imho wenig Sinn. Schließlich bieten die meisten Klassen mehr Methoden als du in einer bestimmten Anwendungssituation benötigst.</p>
</blockquote>
<p>Im Rahmen des Debuggens mache ich immer wieder Methoden public, die das eigentlich nicht sein dürften. Das vergesse ich dann manchmal, wieder rückgängig zu machen. Und wenn ich mehrere Anläufe brauche, um eine Gruppe von Klassen zu erstellen, kommt es vor, dass ich die Übersicht verlieren und am Ende Methoden den falschen Access Modifier haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055866</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Fri, 29 Apr 2011 06:52:03 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Fri, 29 Apr 2011 07:00:43 GMT]]></title><description><![CDATA[<p>dann mach das doch per macro</p>
<pre><code class="language-cpp">#ifdef _DEBUG
public:
#else
private:
#endif
   void f1();
   int member;
</code></pre>
<p>edit: oder noch besser xD</p>
<pre><code class="language-cpp">#ifdef _DEBUG
 #define private public
 #define protected public
#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2055868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055868</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 29 Apr 2011 07:00:43 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Fri, 29 Apr 2011 07:27:19 GMT]]></title><description><![CDATA[<p>ingobulla schrieb:</p>
<blockquote>
<p>Im Rahmen des Debuggens mache ich immer wieder Methoden public, die das eigentlich nicht sein dürften. Das vergesse ich dann manchmal, wieder rückgängig zu machen. Und wenn ich mehrere Anläufe brauche, um eine Gruppe von Klassen zu erstellen, kommt es vor, dass ich die Übersicht verlieren und am Ende Methoden den falschen Access Modifier haben.</p>
</blockquote>
<p>Und woher soll irgendein Tool jetzt wissen, welche Methode absichtlich public ist und welche du nur zu Debug-Zwecken freigegeben hast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055878</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 29 Apr 2011 07:27:19 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Fri, 29 Apr 2011 07:44:35 GMT]]></title><description><![CDATA[<p>das tool könnte überprüfen auf welche methoden/member von aussen zugegriffen wird und dementsprechend könnte es alle benutzen publizieren und die adneren privatisieren</p>
<p>allerdings, wenn du manche member public machst um von aussen drauf zu zugreifen, dann machst du das wahrscheinlich auch. und diesen zugriff müsstes du auch wieder entfernen sonst könnte so ein tool auch nicht funktionieren</p>
<p>also alles in allem keine gute idee wie du vorgegangen bist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055883</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 29 Apr 2011 07:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Fri, 29 Apr 2011 08:15:18 GMT]]></title><description><![CDATA[<p>ingobulla schrieb:</p>
<blockquote>
<p>Im Rahmen des Debuggens mache ich immer wieder Methoden public, die das eigentlich nicht sein dürften.</p>
</blockquote>
<p>Ich nehme mal an, dass du hier mit &quot;debuggen&quot; irgendwelche debug-Funktionen meinst, die die Interna deiner Klassen in die Ausgabe spucken. Nur für sowas die aufgerufenen Methoden public zu machen, halte ich für grundfalsch.</p>
<ol>
<li>Benutze wenns geht einen richtigen debugger. Bei Programmen mit ~1000 Zeilen und mehr wird das cout-debugging sonst sowieso zu einem Krampf.</li>
<li>Wenn du doch unbedingt Methoden brauchst, die an die Eingeweide deiner Klassen dürfen und du also so oder so an deiner Klasse was verändern musst/willst, dann mach die Funktionen, die da reingucken dürfen, zu friends der Klasse. Wenn du den debug-Funktionen auch noch entsprechende Namen gibst, ist das recht einfach, deinen gesamten Code nach Zeilen durchzugreppen, die &quot;friend&quot; und &quot;Debug&quot; enthalten.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2055902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055902</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 29 Apr 2011 08:15:18 GMT</pubDate></item><item><title><![CDATA[Reply to Tool zum Überprufen der Access Modifiers on Fri, 29 Apr 2011 08:26:39 GMT]]></title><description><![CDATA[<p>Alternativ: immer wenn du so eine Funktion public machst, einen Kommentar &quot;CHANGEME_FOR_RELEASE&quot; o.ä. darüber setzen. Danach kannst du dann auch suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055905</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Fri, 29 Apr 2011 08:26:39 GMT</pubDate></item></channel></rss>