<?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[Frage zu Zugriffsrechten bei Objekten]]></title><description><![CDATA[<p>Hallo,</p>
<p>Hier steht: <a href="http://www.cpp-tutor.de/cpp/le09/klassen.html" rel="nofollow">http://www.cpp-tutor.de/cpp/le09/klassen.html</a></p>
<p>Hierzu erhält die Memberfunktion eine Referenz auf das zu kopierende Objekt, das natürlich ebenfalls der Klasse Window angehört. Obwohl nun die Eigenschaften des übergebenen Objekts gegen den direkten Zugriff geschützt sind (private), kann die Memberfunktion CopyData(...) auf die geschützten Daten des übergebenen Objekts zugreifen.</p>
<p>Aber CopyData kann auch so auf width zugreiffen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Window
{
short width;

public:

   int CopyData( );

   Window :: Window ()
   {
      width = 2;
   }

};

int Window::CopyData( )
{

   cout&lt;&lt;        width &lt;&lt; endl;
}

int main ()
{
Window w;
w.CopyData( );

system(&quot;PAUSE&quot;);
}
</code></pre>
<p>Ist das nicht irgendwie sinnlos so ?<br />
Würde man die Eigenschaften einem anderem Objekt übergeben könnte das ja noch Sinn machen aber so ??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Window
{
short width;

public:

   int CopyData( Window&amp; source );

   Window :: Window ()
   {
      width = 2;
   }

};

int Window::CopyData( Window &amp;source)
{
   width = source.width;

   cout&lt;&lt; source.width &lt;&lt; endl;;
   cout&lt;&lt;        width &lt;&lt; endl;
}

int main ()
{
Window w;
w.CopyData( w);

system(&quot;PAUSE&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/271025/frage-zu-zugriffsrechten-bei-objekten</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 17:04:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271025.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Jul 2010 09:55:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 09:55:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Hier steht: <a href="http://www.cpp-tutor.de/cpp/le09/klassen.html" rel="nofollow">http://www.cpp-tutor.de/cpp/le09/klassen.html</a></p>
<p>Hierzu erhält die Memberfunktion eine Referenz auf das zu kopierende Objekt, das natürlich ebenfalls der Klasse Window angehört. Obwohl nun die Eigenschaften des übergebenen Objekts gegen den direkten Zugriff geschützt sind (private), kann die Memberfunktion CopyData(...) auf die geschützten Daten des übergebenen Objekts zugreifen.</p>
<p>Aber CopyData kann auch so auf width zugreiffen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Window
{
short width;

public:

   int CopyData( );

   Window :: Window ()
   {
      width = 2;
   }

};

int Window::CopyData( )
{

   cout&lt;&lt;        width &lt;&lt; endl;
}

int main ()
{
Window w;
w.CopyData( );

system(&quot;PAUSE&quot;);
}
</code></pre>
<p>Ist das nicht irgendwie sinnlos so ?<br />
Würde man die Eigenschaften einem anderem Objekt übergeben könnte das ja noch Sinn machen aber so ??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Window
{
short width;

public:

   int CopyData( Window&amp; source );

   Window :: Window ()
   {
      width = 2;
   }

};

int Window::CopyData( Window &amp;source)
{
   width = source.width;

   cout&lt;&lt; source.width &lt;&lt; endl;;
   cout&lt;&lt;        width &lt;&lt; endl;
}

int main ()
{
Window w;
w.CopyData( w);

system(&quot;PAUSE&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1929931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929931</guid><dc:creator><![CDATA[obj]]></dc:creator><pubDate>Thu, 22 Jul 2010 09:55:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 10:25:36 GMT]]></title><description><![CDATA[<p>Was soll man denn mit den privaten Daten anfangen, wenn man keine Funktionen mehr darauf anwenden könnte?</p>
<p>Der Sinn ist ein anderer:<br />
Er sagt potentiellen Benutzern Deiner Klasse (das musst Du ja nicht selbst sein), dass die Daten nicht benutzt werden sollen.</p>
<p>Beispiel:<br />
Es gibt eine Klasse, die irgendwie mit Winkeln und trogonometrischen Funktionen rumhantiert.<br />
Die erste Version sieht so aus:</p>
<pre><code class="language-cpp">class AngleClass
{
public:
    AngleClass(float angle) : m_angle(angle){} //erwartet Winkel in Grad

    float getAngleDeg() const { return m_angle; } //gibt Winkel in Grad
    float getAngleRad() const { return m_angle / 180 * PI; } //gibt Winkel in Radiant

    void doSomething()
    {
        std::sin(getAngleRad()) * //...jede menge Berechnungen
        //...
    }
private:
    float m_angle;
};
</code></pre>
<p>Jetzt fällt Dir auf, dass Du klassenintern eigentlich nur Rad brauchst. Du konvertierst Dir jetzt den Winkel im Konstruktor in Rad und arbeitest dann intern damit:</p>
<pre><code class="language-cpp">class AngleClass
{
public:
    AngleClass(float angle) : m_angle(angle / 180 * PI){} //erwartet Winkel in Grad

    float getAngleDeg() const { return m_angle / PI * 180; } //gibt Winkel in Grad
    float getAngleRad() const { return m_angle; } //gibt Winkel in Radiant

    void doSomething()
    {
        std::sin(m_angle) * //...jede menge Berechnungen
        //der Winkel muss jetzt nicht mehr fuer jede trig. Funktion in Rad. konvertiert werden
        //...
    }
private:
    float m_angle;
};
</code></pre>
<p>Für einen Benutzer Deiner Klasse würde sich nichts ändern. Konstruktor und Funktionen verhalten sich nach wie vor gleich, obwohl sich die interne Repräsentation des Winkels geändert hat.</p>
<p>Wäre <code>m_angle</code> public gewesen, hätte ein fauler Benutzer der Klasse direkt auf die Variable zugreifen können (etwas weniger Schreibaufwand). Wäre er jetzt zur Version 2 der Klasse gewechselt, hätte sein Programm plötzlich nicht mehr korrekt funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929936</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 22 Jul 2010 10:25:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 11:41:06 GMT]]></title><description><![CDATA[<p>Das sagt mir überhaupt gar nichts.</p>
<p>Was hat das mit meinem Beispiel zu tun ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929992</guid><dc:creator><![CDATA[obj]]></dc:creator><pubDate>Thu, 22 Jul 2010 11:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 11:50:00 GMT]]></title><description><![CDATA[<p>obj schrieb:</p>
<blockquote>
<p>Das sagt mir überhaupt gar nichts.</p>
<p>Was hat das mit meinem Beispiel zu tun ?</p>
</blockquote>
<p>Es soll dir den Nutzen von private klarmachen. Private ist nämlich nicht dazu da, die Klasse vor sich selbst zu schützen, sondern vor äußeren Einflüssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929997</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 22 Jul 2010 11:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 11:52:53 GMT]]></title><description><![CDATA[<p>In deinem Beispiel gehört die Klasse CopyData zu der Klasse Window. Das erkennst du daran, dass sie in dieser steht. Außerdem wird bei der Implementierung Window:: angegeben, was erneut zeigt, dass sie zu der Klasse Window gehört.</p>
<p>Wenn du nun eine Instanz von Window erstellst, wie du es ja getan hast:<br />
Window w;</p>
<p>Und dann mit w.CopyData() die Funktion aufrufst, dann brauchst du w nicht übergeben, da CopyData sich ja schon auf w bezieht. Du rufst die Funktion ja auch mit w.Func() auf.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class A
{
private:
	int value_;

public:
	A(int value)
	{
		value_ = value;
	}

	void Print()
	{
		std::cout &lt;&lt; &quot;A::value_ = &quot; &lt;&lt; value_ &lt;&lt; std::endl;
	}

	void Set(int value)
	{
		value_ = value;
	}
};

int main()
{
	A a(100); // Instanz von A erstellen. Wert für value_ soll 100 sein.

	a.Print(); // Den Wert ausgeben

	a.Set(200); // Den Wert ändern

	a.Print(); // Den Wert erneut ausgeben

	a.value_ = 10; // error C2248: &quot;A::value_&quot;: Kein Zugriff auf private Member, dessen Deklaration in der A-Klasse erfolgte.
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1930001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930001</guid><dc:creator><![CDATA[....]]></dc:creator><pubDate>Thu, 22 Jul 2010 11:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 12:11:49 GMT]]></title><description><![CDATA[<p>obj schrieb:</p>
<blockquote>
<p>Das sagt mir überhaupt gar nichts.</p>
</blockquote>
<p>Wo liegt denn das Problem?</p>
<p>obj schrieb:</p>
<blockquote>
<p>Was hat das mit meinem Beispiel zu tun ?</p>
</blockquote>
<p>Deine Frage bezog sich auf den Sinn von Zugriffsrechten, im Speziellen von <code>private</code> .<br />
In Deinem Beispiel kommen die Vorzüge, die es mitbringt, wenn man Dinge <code>private</code> deklariert nicht zum Tragen.<br />
In dem von Dir verlinkten Kurs wird nur erklärt, was private rein technisch tut. Der Sinn dahinter wird aber nur mit einem schwammigen Satz erklärt. Deahalb ein anderes Beispiel...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930014</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 22 Jul 2010 12:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 13:26:01 GMT]]></title><description><![CDATA[<p>Damit sage ich einem Benutzer das er die Daten nicht benutzen soll ?</p>
<p>Window w;<br />
w.CopyData( w);</p>
<p>Ich sehe da noch immer keinen Sinn drin.</p>
<p>Naja vielleicht erkenn ich den ja irgendwann oder auch nicht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class AngleClass
{

public:
    AngleClass(float angle) : m_angle(angle / 2 ){}

    float getAngleDeg() const { return m_angle / 180; }
    float getAngleRad() const { return m_angle; }

private:
           float m_angle;  // &lt;-- auch wenn das public ist funktioniert es ...

};

int main ()
{
AngleClass w(90);

int ret;

ret = w.getAngleRad();

cout&lt;&lt;ret&lt;&lt;endl;

system(&quot;PAUSE&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1930084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930084</guid><dc:creator><![CDATA[obj]]></dc:creator><pubDate>Thu, 22 Jul 2010 13:26:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 13:29:12 GMT]]></title><description><![CDATA[<p>Stell dir die Klasse als Einheit vor, die in sich zunächst komplett geschlossen ist.</p>
<p>Mit public kannst du diese Verschlossenheit aufheben.</p>
<pre><code class="language-cpp">class A
{
 public:
  int x;
};
// ...
A a;
a.x = 10;
</code></pre>
<p>Würde gehen. Mit private funktioniert das nicht mehr. Der Sinn? Kapselung der Daten.</p>
<p>Die Klasse selber hat aber unabhängig von public und private Zugriff auf die Variable. Denn sie gehört ihr ja sozusagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930086</guid><dc:creator><![CDATA[....]]></dc:creator><pubDate>Thu, 22 Jul 2010 13:29:12 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 13:38:48 GMT]]></title><description><![CDATA[<p>// &lt;-- auch wenn das public ist funktioniert es ...<br />
Natürlich! Das Problem ist nur, dass ein Verändern von Außen ohne irgendwelche Überprüfungen die Gültigkeit des Objekts zerstören kann!<br />
Zum Beispiel die &quot;Angle&quot;-Klasse. Nehmen wir an, sie bildet einen Winkel auf einen Kreis ab, der Wert muss also in den Bereich 0-360°. Wird ein neuer Wert gesetzt (über eine entsprechende setter-Methode), wird dieser in diesen Bereich &quot;gemapped&quot;: 720°==360°==0°, 410°==50°, usw.<br />
Die Methoden VERTRAUEN darauf, dass der intern gespeicherte Wert in diesen Grenzen liegt, wäre ja auch doof, wenn ich bei jeder noch so kleinen Berechnung erst eine entsprechende Prüfung einbauen müsste!<br />
Nun stell dir vor, der interne Wert ist public, und $EVIL_USER kommt her und macht das:</p>
<pre><code class="language-cpp">Angle a;
a.value = 960;
</code></pre>
<p>Juppidu, unsere geforderte Eigenschaft von 0&lt;=value&lt;360 ist ungültig! Darum machen wir &quot;value&quot; private, damit solche Sachen unter der Kontrolle der Klasse bleiben.</p>
<p>Ist das jetzt klarer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930092</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Thu, 22 Jul 2010 13:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 14:25:42 GMT]]></title><description><![CDATA[<p>obj schrieb:</p>
<blockquote>
<pre><code class="language-cpp">float m_angle;  // &lt;-- auch wenn das public ist funktioniert es ...
</code></pre>
</blockquote>
<p>Klar funktioniert es. Nun stell Dir vor, <code>m_angle</code> wäre public. Jetzt gibt es einen faulen Benutzer der Klasse, der direkt auf <code>m_angle</code> zugreift (es geht ja und spart Tipperei). In seiner Version wird in <code>m_angle</code> der Winkel in Grad gespeichert.</p>
<p>Er legt das Objekt so an:</p>
<pre><code class="language-cpp">AngleClass a(180); // m_angle hat den Wert 180
</code></pre>
<p>Nun greift er munter auf <code>m_angle</code> zu (am Besten an vielen Stellen im Code, über viele Dateien verteilt):</p>
<pre><code class="language-cpp">functionOfTheStupidUser(a.m_angle); //erwartet Winkel in Grad, also den Wert 180
</code></pre>
<p>Jetzt denkt sich der <strong>Entwickler</strong> von <code>AngleClass</code> (also eine andere Person), hey, wenn ich intern mit Radiant anstatt mit Grad rechne, ist die Klasse viel effizienter und der Code wird einfacher. Er ändert also entsprechend.</p>
<p>Beim doofen Benutzer:</p>
<pre><code class="language-cpp">functionOfTheStupidUser(a.m_angle); //erwartet Winkel in Grad, jetzt sind es aber Radiant, also der Wert pi -&gt; die Funktion macht Mist
</code></pre>
<p>Jetzt muss man erstmal merken, dass etwas nicht stimmt und woher das Problem kommt. Wenn man Pech hat, ist schon ein Flugzeug abgestürzt.</p>
<p>Hätte der doofe, faule Benutzer die getter Funktion <code>AngleClass::getAngleDeg()</code> benutzt, würde jetzt immer noch der Wert 180 an die Funktion <code>functionOfTheStupidUser</code> übergeben werden. Völlig unabhängig von der internen Darstellung.<br />
Durch private verbietest Du nun, das Anwender auf der internen Darstellung rumhampeln. Diese müssen brav die Getter und Setter benutzen, und bei denen kannst <strong>Du</strong> (als Entwickler der Klasse) sicherstellen, dass immer das richtige herauskommt. Unabhängig davon, was intern passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930108</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 22 Jul 2010 14:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 15:42:12 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>also ich finde das ganz einfach:<br />
- Jeder (naja - fast) darf mir die Hand geben<br />
- Nur MEINE Hand darf meinen Dödel anfassen (oder andere Körperteile, dmit denen es mir möglich ist).</p>
<p>Diese Trennung finde ich gut. ... und ich sehe keinen Grund dafür, meiner Hand den Zugriff auf meinen Dödel prinzipiell zu verbieten. <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/1930162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930162</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 22 Jul 2010 15:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 15:49:32 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>ROFL ... you made my day <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/1930164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930164</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Thu, 22 Jul 2010 15:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 15:58:51 GMT]]></title><description><![CDATA[<p>Die &quot;friends&quot; dürfen das auch ... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1930168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930168</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 22 Jul 2010 15:58:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 16:00:13 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>ROFL ... you made my day <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>
</blockquote>
<p>Das ist eine Übersetzung aus dem Englischen, im Original wird es noch deutlicher:</p>
<p>Only you and your friends may touch your private parts.<br />
Neither your children nor your friends' children may not touch your privates.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930169</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 22 Jul 2010 16:00:13 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Thu, 22 Jul 2010 21:18:54 GMT]]></title><description><![CDATA[<p>Ok das mit dem Private hab ich verstanden.</p>
<p>Aber es ging mir um das objekt w was in CopyData steht: w.CopyData( w);</p>
<p>Das ich da in diesem Beispiel keinen Sinn sehe.</p>
<p>Das man die Variable width im Hauptprogramm z.b. nciht so ändern kann das hab ich verstanden; main () { Window w; w.width = 100; } &lt;-- Geht ja nicht weil width Private ist.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Window
{
short width;

public:

   int CopyData( Window&amp; source );

   Window :: Window ()
   {
      width = 2;
   }

};

int Window::CopyData( Window &amp;source)
{
   width = source.width;

   cout&lt;&lt; source.width &lt;&lt; endl;;
   cout&lt;&lt;        width &lt;&lt; endl;
}

int main ()
{
Window w;
w.CopyData( w);

system(&quot;PAUSE&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1930313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930313</guid><dc:creator><![CDATA[obj]]></dc:creator><pubDate>Thu, 22 Jul 2010 21:18:54 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Fri, 23 Jul 2010 05:57:45 GMT]]></title><description><![CDATA[<p>Weil sich die Zugriffsrechte eben nicht auf das einzelne Objekt beschränken, sondern für die Klasse gelten. Sonst wäre so etwas wie ein Kopierkonstruktor oder operator= gar nicht möglich!</p>
<pre><code class="language-cpp">class Klasse {
State state; // hierfür gibt es keinen getter oder setter, das ist nur eine intern genutzte Variable
public:
    Klasse(const Klasse&amp; other); // Und wie sollen wir hier vorgehen, wenn state auch kopiert werden können soll?
};
</code></pre>
<p>Die Klasse &quot;Window&quot; hat ja auch &quot;CopyData&quot; im Griff, kann damit aufpassen dass nichts schlechtes geschieht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930373</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Fri, 23 Jul 2010 05:57:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Fri, 23 Jul 2010 07:31:05 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>...<br />
Only you and your friends may touch your private parts.<br />
Neither your children nor your friends' children may not touch your privates.</p>
</blockquote>
<p><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="😋"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Das finde ich gut (und auch besser als meins) - kannte ich allerdings nicht.<br />
(obwohl mir natürlich der Ausdruck &quot;my private( part)s&quot; schon bewusst war).</p>
<p>Mir war allerdings hier im Kontext wichtig, dass überhaupt die eigenen public Funktionen auf die &quot;privates&quot; zugreifen dürfen. Das war hier ja IMHO die Verständnisschwierigkeit des Fragestellers...</p>
<p>padreigh schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>ROFL ... you made my day <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>
</blockquote>
<p>Gern geschehen. <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>Danke,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930390</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 23 Jul 2010 07:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zugriffsrechten bei Objekten on Fri, 23 Jul 2010 07:48:28 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Only you and your friends may touch your private parts.<br />
Neither your children nor your friends' children may <code>not</code> touch your privates.</p>
</blockquote>
<p>Ist das da nicht ein 'not' zu viel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930392</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Fri, 23 Jul 2010 07:48:28 GMT</pubDate></item></channel></rss>