<?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[Warum Zugriff auf private möglich?]]></title><description><![CDATA[<pre><code class="language-cpp">class ab {
public:
	void prnt(){
		std::cout&lt;&lt;priv&lt;&lt;std::endl;
	}
	void test(){
		ab other;
		other.prnt();
		other.priv--;
		other.prnt();
	}
private: 
	int priv;
};

int main() {
	ab x;
	x.test();
}
</code></pre>
<p>Warum geht das?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191462/warum-zugriff-auf-private-möglich</link><generator>RSS for Node</generator><lastBuildDate>Sat, 26 Sep 2026 00:45:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191462.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Sep 2007 13:26:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 13:26:37 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class ab {
public:
	void prnt(){
		std::cout&lt;&lt;priv&lt;&lt;std::endl;
	}
	void test(){
		ab other;
		other.prnt();
		other.priv--;
		other.prnt();
	}
private: 
	int priv;
};

int main() {
	ab x;
	x.test();
}
</code></pre>
<p>Warum geht das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357924</guid><dc:creator><![CDATA[suleiga]]></dc:creator><pubDate>Mon, 03 Sep 2007 13:26:37 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 13:36:38 GMT]]></title><description><![CDATA[<p>Weil es ok ist.</p>
<p>Also mal im ernst: ein &quot;Warum geht das?&quot; ist eine Frage die man nicht ernst beantworten kann. Sachen die &quot;gehn&quot; sind fuer die meisten hier voellig normal, deshalb kann keiner erraten, was deiner Meinung nach nicht gehen sollte. Stell deine Frage etwas ausfuehrlicher, beschreib was genau du wissen moechtest, dann wird auch gern geholfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p><a href="http://www.lugbz.org/documents/smart-questions_de.html" rel="nofollow">http://www.lugbz.org/documents/smart-questions_de.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357933</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 03 Sep 2007 13:36:38 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 13:37:28 GMT]]></title><description><![CDATA[<p>Innerhalb einer Methode von ab sind natürlich alle Felder von ab zugreifbar (von <strong>allen</strong> ab wohlgemerkt, nicht nur von *this).</p>
<p>EDIT:<br />
Ansonsten schließe ich mich pumuckl an - ohne die Stichworte im Topic hätte ich garnicht einordnen können was Du willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357935</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 03 Sep 2007 13:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 14:14:30 GMT]]></title><description><![CDATA[<p>Die Überschrift nochmal als Text. Warum ist Zugriff auf private Attribute möglich?</p>
<p>Ich erstelle ein Objekt x rufe dessen Methode test auf, dort wird ein Objekt other erzeut und ich kann auf die private Attribute von other zugreifen. Nur weil beide von der gleichen Klasse sind? Irgendwie zerstört das doch die ganze Datenkapselung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357968</guid><dc:creator><![CDATA[suleiga]]></dc:creator><pubDate>Mon, 03 Sep 2007 14:14:30 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 14:21:47 GMT]]></title><description><![CDATA[<p>suleiga schrieb:</p>
<blockquote>
<p>Die Überschrift nochmal als Text. Warum ist Zugriff auf private Attribute möglich? .</p>
</blockquote>
<p>Ganz einfach: Ist es nicht.<br />
Du greifst auf ein public Member zu (test()). Dieses Member (= Teil der Klasse) darf natürlich auf alle Klassenmember zugreifen (auch auf &quot;privates&quot;).</p>
<p>Mal anders herum: Welchen Sinn hätten private Members, wenn NIEMAND darauf Zugriff hätte ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357979</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 03 Sep 2007 14:21:47 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 14:30:06 GMT]]></title><description><![CDATA[<p>Ich rufe x.test auf und greife da auf other.priv nicht auf x.priv zu. x soll ja auf seine private Attribute zugreifen können, aber nicht auf die von anderen Objekten.</p>
<p>Anders gefragt: Warum Datenkapselung von Klassen und nicht Objekten abhängig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357990</guid><dc:creator><![CDATA[suleiga]]></dc:creator><pubDate>Mon, 03 Sep 2007 14:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 14:33:23 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Damit man zum Beispiel Copy-C'tors schreiben kann ohne für jedes einzelne Attribut nur dafür einen Getter schreiben zu müßen.<br />
Es wird davon ausgegangen das eine Klasse sich selber trauen kann.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357999</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 03 Sep 2007 14:33:23 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 14:42:36 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13624">@Simon2</a></p>
<blockquote>
<p>Mal anders herum: Welchen Sinn hätten private Members, wenn NIEMAND darauf Zugriff hätte ?</p>
</blockquote>
<p>Er meint warum er Zugriff auf die privaten member einer anderen instanz hat. Quasi Instanzuebergreifend internas freigegeben werden.</p>
<p>Auf seine eigenen ist privaten member ist klar, die haetten wirklich keinen sinn sonst.</p>
<p>@suleiga</p>
<blockquote>
<p>Nur weil beide von der gleichen Klasse sind? Irgendwie zerstört das doch die ganze Datenkapselung.</p>
</blockquote>
<p>Siehs doch so:</p>
<p>Du hasst zugriff auf die Klasse, d.h. du kannst sie veraendern und modifizieren, sonst wuerdes du die methode Test ned schreiben koennen.</p>
<p>Dass heisst auch, du koenntest auch einfach public members schreiben, die die privaten variablen einfach nach aussen geben, dann aenderst nicht mal die datensignatur ... und voiala, dann braucht es den umweg uber die test() methode gar nimmer gehen.</p>
<p>Wie gesagt, wenn du die klasse unter deiner gewalt hasst, kannst du halt alles, dann gibts nichts mehr zu schuetzen quasi ....<br />
Und das mit dem instanzuebergreifen ist in c++ halt so, das hat meiner meinung nach keinen nennenswerten nachteil, dafuer aber ne menge vorteile (temp variablen ... etc). Ohne dieses Mechanismus muesstest du viel mehr public machen, was andere user(die keine moglichkeit der manipulation haben) eigentlich gar ned sehen sollen ....</p>
<p>Und ausserdem waers fuer die Implementation von seitens von c++ auch ned von der Performance trivial. Ob eine Methode, unabhaengig von ihrer instanz, zugriffe bekommt, kann c++ statisch bestimmen, d.h. es wird scho beim compilieren gecheckt. muss er aber erst checken, ob die Instanz (zur Laufzeit erzeugtes Object) selber die quasi &quot;Rechte&quot; hat, wird er das ned mehr statisch koennen sondern wird es zur laufzeit machen muessen, sprich laufzeitcheck &amp; laufzeitfehler = Performance-verlust.</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358002</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Mon, 03 Sep 2007 14:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 14:46:40 GMT]]></title><description><![CDATA[<p>suleiga schrieb:</p>
<blockquote>
<p>...<br />
Anders gefragt: Warum Datenkapselung von Klassen und nicht Objekten abhängig?</p>
</blockquote>
<p>Rrrrrischdig !! <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="😉"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358014</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 03 Sep 2007 14:46:40 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 15:33:00 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Damit man zum Beispiel Copy-C'tors schreiben kann ohne für jedes einzelne Attribut nur dafür einen Getter schreiben zu müßen.<br />
Es wird davon ausgegangen das eine Klasse sich selber trauen kann.</p>
<p>bis bald<br />
akari</p>
</blockquote>
<p>Ja, da macht es Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358071</guid><dc:creator><![CDATA[suleiga]]></dc:creator><pubDate>Mon, 03 Sep 2007 15:33:00 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Zugriff auf private möglich? on Mon, 03 Sep 2007 16:31:53 GMT]]></title><description><![CDATA[<p>Es verbessert die Datenkapselung, da für bestimmte Operationen zwischen Objekten der gleichen Klasse dann keine Zugriffsfunktionen geschaffen werden müssen.<br />
Dadurch dass es diese Zugriffsfunktionen nicht gibt kann sie auch keiner ausserhalb der Klasse X misbrauchen.</p>
<p>Im Prinzip dasselbe wie mir friend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358113</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 03 Sep 2007 16:31:53 GMT</pubDate></item></channel></rss>