<?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[Zugriffsrechte]]></title><description><![CDATA[<p>Hier ist n Code aus nem Tutorial:<br />
<a href="http://tutorial.schornboeck.net/bigthree.htm" rel="nofollow">http://tutorial.schornboeck.net/bigthree.htm</a></p>
<pre><code class="language-cpp">#include &lt;algorithm&gt; //für swap
    using namespace std;

    class Array
    {
    private:
      unsigned length; //keine negative Länge
      int* value;

      void copy(int* value, unsigned length)
      {
        for(unsigned i=0; i&lt;length; ++i)
        {
          this-&gt;value[i]=value[i];
          //this-&gt; weil der Parameter value verdeckt this-&gt;value
          //mittels this-&gt; sagen wir dem Compiler welches value wir wollen
        }
      }

    public:
      Array(int* value, unsigned length)
      : length(length), value(new int[length])
      {
        copy(value, length);
      }

      Array(Array const&amp; other)
      : length(other.length), value(new int[other.length]) // &lt;-- !!!
      {
        copy(other.value, other.length); // &lt;-- !!!
      }

      Array const&amp; operator=(Array const&amp; other)
      {
        Array temp(other);  //benutze CopyCtor um eine Kopie zu erstellen
        swap(temp);         //tausche Member mit der Kopie aus
        return *this;
      }                     //Kopie wird zerstört

      ~Array()
      {
        delete [] value;
      }

      void swap(Array&amp; other)
      {
        swap(value, other.value);
        swap(length, other.length);
        //swap funktioniert wie unser tausche - allerdings für jeden Variablentyp
      }
    };
</code></pre>
<p>Warum geht in den Zeilen 28 u. 30 &quot;other.length&quot; und &quot;other.value&quot;?! Weil &quot;length&quot; und &quot;value&quot; sind doch private!? Kann mir jemand helfen?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196720/zugriffsrechte</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 17:53:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196720.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Nov 2007 10:04:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:04:46 GMT]]></title><description><![CDATA[<p>Hier ist n Code aus nem Tutorial:<br />
<a href="http://tutorial.schornboeck.net/bigthree.htm" rel="nofollow">http://tutorial.schornboeck.net/bigthree.htm</a></p>
<pre><code class="language-cpp">#include &lt;algorithm&gt; //für swap
    using namespace std;

    class Array
    {
    private:
      unsigned length; //keine negative Länge
      int* value;

      void copy(int* value, unsigned length)
      {
        for(unsigned i=0; i&lt;length; ++i)
        {
          this-&gt;value[i]=value[i];
          //this-&gt; weil der Parameter value verdeckt this-&gt;value
          //mittels this-&gt; sagen wir dem Compiler welches value wir wollen
        }
      }

    public:
      Array(int* value, unsigned length)
      : length(length), value(new int[length])
      {
        copy(value, length);
      }

      Array(Array const&amp; other)
      : length(other.length), value(new int[other.length]) // &lt;-- !!!
      {
        copy(other.value, other.length); // &lt;-- !!!
      }

      Array const&amp; operator=(Array const&amp; other)
      {
        Array temp(other);  //benutze CopyCtor um eine Kopie zu erstellen
        swap(temp);         //tausche Member mit der Kopie aus
        return *this;
      }                     //Kopie wird zerstört

      ~Array()
      {
        delete [] value;
      }

      void swap(Array&amp; other)
      {
        swap(value, other.value);
        swap(length, other.length);
        //swap funktioniert wie unser tausche - allerdings für jeden Variablentyp
      }
    };
</code></pre>
<p>Warum geht in den Zeilen 28 u. 30 &quot;other.length&quot; und &quot;other.value&quot;?! Weil &quot;length&quot; und &quot;value&quot; sind doch private!? Kann mir jemand helfen?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396278</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:04:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:06:55 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Warum geht in den Zeilen 28 u. 30 &quot;other.length&quot; und &quot;other.value&quot;?!</p>
</blockquote>
<p>Aber other ist auch eine Instanz der Array-Klasse, damit ist das in Ordnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396280</guid><dc:creator><![CDATA[nman]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:07:20 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Warum geht in den Zeilen 28 u. 30 &quot;other.length&quot; und &quot;other.value&quot;?! Weil &quot;length&quot; und &quot;value&quot; sind doch private!? Kann mir jemand helfen?</p>
</blockquote>
<p>In Methoden einer Klasse kannst Du immer auf private-Elemente zugreifen (das gilt nicht nur für this!).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396281</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:08:21 GMT]]></title><description><![CDATA[<p>In C++ beziehen sich die Zugriffsbeschränkungen auf die Klasse und nicht auf das Objekt - d.h. ein Array-Objekt hat auch Zugriff auf die privaten Member eines anderen Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396283</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:08:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:11:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>private bedeutet das die dort deklarierten Member nach außen hin nicht sichtbar sind. Du befindest dich aber innerhalb dieser Klasse. private arbeitet nicht auf Instanzebene.<br />
siehe auch im Standard 11.1<br />
[edit]Bin ich aber heute spät dran. <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="🙂"
    /> [edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396287</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:27:09 GMT]]></title><description><![CDATA[<p>Okay, noch eine Frage. In dem Code kommt folgendes vor &quot;unsigned length&quot;. Sowas hab ich noch nie gesehen, normalerweise muss doch nach dem &quot;unsigned&quot; der Typ kommen also &quot;int&quot;,&quot;long&quot;,&quot;double&quot;......oder ist das hier eine Kurzschreibweise wo dann automatisch Typ X verwendet wird? Und welcher Typ ist X?<br />
MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396297</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 10:33:13 GMT]]></title><description><![CDATA[<p>'unsigned' ist eine Kurzschreibweise für 'unsigned int'. (btw, auch 'long' und 'short' sind nur Abkürzungen für 'long int' bzw. 'short int')</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396300</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 02 Nov 2007 10:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 11:46:23 GMT]]></title><description><![CDATA[<p>Hab jetzt fast den selben Code nochmal aus meinem Kopf zur Übung geschrieben. Nur das mit dem &quot;operator=&quot; verstehe ich noch nicht so ganz, warum muss man da das ganze Zeug mit dem &quot;swap&quot; machen? Ist das nicht bisschen umständlich? Würde das nicht einfacher gehen? Und gehts auch so wie ichs gemacht habe (siehe Array::operator=):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Array
{
    public:
    Array(const int *array,unsigned int length_);
    Array(const Array &amp;rhs);
    ~Array();
    void copy(const int *array, int length_);
    void operator=(Array const &amp;other);

    private:
    int *m_value;
    unsigned int m_length;
};

Array::Array(const int *array, unsigned int length_)
:m_value(new int[length_]), m_length(length_)
{
    copy(array,length_);
}

Array::Array(const Array &amp;rhs)
:m_value(new int[rhs.m_length]), m_length(rhs.m_length)
{
    copy(rhs.m_value, m_length);
}

Array::~Array()
{
    delete [] m_value;
}

void Array::copy(const int *array, int length)
{
    for (int i=0;i&lt;length;i++)
    {
        m_value[i]=array[i];
    }
}

void Array::operator= (const Array &amp;other)
{
    delete m_value;
    m_value=new int[other.m_length];
    m_length=other.m_length;
    copy(other.m_value, m_length);
}

int main()
{

    return 0;
}
</code></pre>
<p>Muss man bei &quot;operator=&quot; unbedingt was zurückgeben? Und geht das so wie ichs mach oder is es kacke?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396349</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 11:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 15:35:56 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T&gt;
class Array
{
public:
    Array(T const* data, std::size_t size) : m_size(size) 
    { m_data = new T[size]; std::copy(data, data + size, m_data); }
    Array(Array const&amp; rhs) : m_size(rhs.m_size)
    { m_data = new T[size]; std::copy(rhs.m_data, rhs.m_data + rhs.m_size, m_data); }
    Array() : m_data(NULL), m_size(0) 
    {}
    ~Array() 
    { delete [] m_data; }

public:
    // void copy(const int *array, int length_);
    Array&amp; operator=(Array const&amp; rhs) 
    { delete [] m_data; m_size = rhs.m_size; m_data = new T[m_size]; std::copy(rhs.m_data, rhs.m_data + m_size, m_data); return *this; }

private:
    T* m_data;
    std::size_t m_size;
};
</code></pre>
<p>usw ... ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396361</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 02 Nov 2007 15:35:56 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 12:13:43 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>usw ... ^^</p>
</blockquote>
<p>Und inwiefern beantwortet das Strombergs letzte Frage?<br />
Davon ab dass Dein operator= defekt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396364</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 Nov 2007 12:13:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 12:21:17 GMT]]></title><description><![CDATA[<p>@(D)Evil<br />
dei operator= hat ein Speicherleck (kein delete) und ist nicht exceptionsicher.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14886">@Stromberg</a><br />
Der operator= sollte etwas zurückgeben, damit man ihn verketten kann (a = b = c = 0).<br />
Der Sinn des <a href="http://www.gotw.ca/gotw/059.htm" rel="nofollow">swap-Idioms</a> besteht darin, den operator= exceptionsicher und leichter wartbar zu machen.<br />
Exceptionsicher ist er deshalb, weil bei einer exception im operator (z.Bsp. beim new) der Zustand des Objektes erhalten bleibt. Das ist weder bei deinem noch bei (D)Evils Variante der Fall.<br />
Die wartbarkeit ist besser, weil du den ganzen Kopiercode nur einmal (nämlich im CopyCTor) hast und so bei Änderungen an der Klasse auch nur ihn ändern mußt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396371</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 02 Nov 2007 12:21:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 13:07:53 GMT]]></title><description><![CDATA[<p>Aber was ich an dem &quot;swap&quot; noch merkwürdig finde, eigentlich werden da doch zwei Täusche (gibts des Wort?) durchgeführt.<br />
1mal von klass A -&gt; B, und dann noch mal von Klasse B -&gt; A. Aber es reicht doch einer von den beiden, den anderen braucht man doch nicht und ist zeitverschwendung?! Oder versteh ich da wieder was falsch? Vll. sollt man einen Tausch machen der nur von der einen Klasse in die andere schreibt?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396392</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 13:07:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 13:13:22 GMT]]></title><description><![CDATA[<p>Wo wird da zweimal getauscht? Ich sehe nur einen Copykonstruktoraufruf und ein swap.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396395</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 02 Nov 2007 13:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 13:35:24 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Aber was ich an dem &quot;swap&quot; noch merkwürdig finde, eigentlich werden da doch zwei Täusche (gibts des Wort?) durchgeführt.<br />
1mal von klass A -&gt; B, und dann noch mal von Klasse B -&gt; A. Aber es reicht doch einer von den beiden, den anderen braucht man doch nicht und ist zeitverschwendung?! Oder versteh ich da wieder was falsch? Vll. sollt man einen Tausch machen der nur von der einen Klasse in die andere schreibt?</p>
</blockquote>
<p>Das Wort &quot;tausche&quot; impliziert, dass A hinterher den Inhalt von B <strong>und</strong> B den Inhalt von A hat. Sonst hieße es &quot;kopiere&quot; <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>Der Sinn des ganzen ist, dass eins der beiden getauschten Objekte das temporäre Objekt ist, welches unmittelbar nach dem Tausch gelöscht wird. Damit räumt der Destruktor von temp automatisch die Daten ab, die sich zuvor noch in *this befunden haben. Du machst quasi:</p>
<p>1. Erzeuge temp. Objekt als Kopie von der Quelle (erzeugen eines neuen Array mit bereits existierenden Funktionen)<br />
2. Tausche Inhalt von temp. Objekt mit Inhalt von *this (das geht sehr schnell und danach beinhaltet *this eine Kopie der Quelle, und das temp. Objekt den Müll der vorher in *this stand)<br />
3. Lösche temp. Objekt (damit wird der Müll, der vorher in *this stand, ordentlich abgebaut)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396406</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 Nov 2007 13:35:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 14:34:23 GMT]]></title><description><![CDATA[<p>Aso, jetzt hab ichs gecheckt, weil meine Verwunderung war genau wie du gesagt hast:</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>...und das temp. Objekt den Müll der vorher in *this stand...</p>
</blockquote>
<p>und da hab ich mir gedacht, es reicht doch wenn man das Zeug von &quot;temp&quot; einfach in *this reinstecken....ist ja nur Zeit verschwendung das alte Zeug von &quot;*this&quot; in temp zu haun!<br />
Aber das hier erklärt dann wieder alles:</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>3. Lösche temp. Objekt (damit wird der Müll, der vorher in *this stand, ordentlich abgebaut)</p>
</blockquote>
<p>Also ist es doch sinvoll 2 mal zu tauschen einmal von temp nach *this und umgekehrt.<br />
Dankeschön.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396439</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 14:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 14:49:11 GMT]]></title><description><![CDATA[<p>Äh udn noch was, bei den Zeigern, da tauscht swap doch einfach nur die Adressen oder?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396448</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 14:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 14:55:30 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Äh udn noch was, bei den Zeigern, da tauscht swap doch einfach nur die Adressen oder?</p>
</blockquote>
<p>Gehen wir nochmal in das Detail. Swap dient dazu Exceptionneutral zu sein. Das bedeutet das ein Objekt entweder ganz oder garnicht kopiert wird und in einen konsistenten Zustand bleibt (Sprich im Fehlerfall DARF kein inkonsistenter Zwischenstand eintreten).</p>
<p>Dies kannst du nicht bei einer direkten Zuweisung garantieren, da beim Aufruf des Zuweisungsoperators eine Exception eintreten kann, und das Objekt dann ggf. schon in Teilen überschrieben ist.</p>
<p>Bei einem Tausch von Zeigern kann aber keine Exception eintreten. Daher diese drei Schritte (Wenn ein Fehler bei der Anlage eintritt, bleibt der alte Stand erhalten, und es tritt kein inkonsistenter Zwischenstand ein...).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396452</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 02 Nov 2007 14:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 15:18:29 GMT]]></title><description><![CDATA[<p>Außerdem würde es doch viel zu viel Zeit kosten wenn man es nicht über den Adressen Tausch machen würde? Sondern neu Speicher reservieren müsste bei jedem Zeiger, für die jeweilige größe, die alten Werte zwischenspeichern mit ner for schleife einlesen......wäre doch Zeitverschwendung?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396464</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 15:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Fri, 02 Nov 2007 21:49:09 GMT]]></title><description><![CDATA[<p>Nochmal zu den Zugriffsrechten, kann ich folgende Regel aufstellen:</p>
<blockquote>
<p>Innerhalb der Methoden eines Objekts hat man Zugriff auf private Elemente von anderen Objekten und oder *this. Innerhalb einer Klasse hat man ebenso Zugriff auf private Elemente. Nur außerhalb einer Klasse oder eines Objekts hat man nur Zugriff auf öffentliche (public) Elemente.</p>
</blockquote>
<p>Oder kann man da noch an der Formulierung feilen???</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396726</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 02 Nov 2007 21:49:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Sat, 03 Nov 2007 11:06:07 GMT]]></title><description><![CDATA[<p>Die Zugriffsrechte sind bezogen auf Klassen, nicht auf Objekten, d.h. jede Klassenmethode hat Zugriff auf alle (auch private) Elemente derselben Klasse (egal ob 'this' oder ein anderes Klassenobjekt).</p>
<p>Du hast es also bei deiner Formulierung irgendwie &quot;doppel gemoppelt&quot; beschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396904</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sat, 03 Nov 2007 11:06:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsrechte on Sat, 03 Nov 2007 12:53:13 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>private bedeutet das die dort deklarierten Member nach außen hin nicht sichtbar sind....[edit]</p>
</blockquote>
<p>Das ist bestimmt richtig gemeint, führt aber leider auf die falsche Fährte, denn <em>sichtbar</em> sind auch private-Member ... aber eben nicht <em>zugreifbar</em>.<br />
Die Sichbarkeit kann z.B. zu Problemen mit &quot;ungewollten Overloads&quot; führen...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396968</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sat, 03 Nov 2007 12:53:13 GMT</pubDate></item></channel></rss>