<?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[Privater Pointer ?]]></title><description><![CDATA[<p>Hallo Leute , ich habe mal wieder eine kurze Frage .<br />
Nehmen wir mal an ich habe eine Klasse mit der folgenden Member Variable.</p>
<pre><code class="language-cpp">class A
{
private:   
char *bla;
public:
char *getBla()
{
return bla;
};
}
</code></pre>
<p>Ist nun der Inhalt der Variablen selbst also die Adresse privat ?<br />
Oder ist der Inhalt Privat auf den der Pointer verweist ?<br />
Oder ist sogar beides privat ?</p>
<p>Es wäre super wenn mich da mal jemand aufklären könnte .</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282986/privater-pointer</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 20:49:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282986.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Mar 2011 15:57:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 15:57:11 GMT]]></title><description><![CDATA[<p>Hallo Leute , ich habe mal wieder eine kurze Frage .<br />
Nehmen wir mal an ich habe eine Klasse mit der folgenden Member Variable.</p>
<pre><code class="language-cpp">class A
{
private:   
char *bla;
public:
char *getBla()
{
return bla;
};
}
</code></pre>
<p>Ist nun der Inhalt der Variablen selbst also die Adresse privat ?<br />
Oder ist der Inhalt Privat auf den der Pointer verweist ?<br />
Oder ist sogar beides privat ?</p>
<p>Es wäre super wenn mich da mal jemand aufklären könnte .</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028806</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 02 Mar 2011 15:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 15:59:55 GMT]]></title><description><![CDATA[<p>beides</p>
<p>aber char* ist ein schlechtes beispiel weil es ja einen string darstellt</p>
<p>bei anderen datentypen wäre nur die addresse wo der pointer drauf zeigt privat</p>
<p>(merke int *p; merkt sich die addresse einer anderen variable)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028809</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 02 Mar 2011 15:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:04:23 GMT]]></title><description><![CDATA[<p>Das heißt dass nur bei einem char * , inhalt und inhalt der Adresse auf die gezeigt wird private sind und bei einem int * nur der Inhalt des Pointers selbst ?</p>
<p>Habe ich das jetzt richtig verstanden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028811</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:04:23 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:08:02 GMT]]></title><description><![CDATA[<p>Speicher an sich kann nicht privat sein, Zugriffsspezifizierer beziehen sich immer auf Symbole wie Variablen, Typen oder Funktionen.</p>
<p>In deinem Beispiel ist also jegliche Verwendung von <code>A::bla</code> ausserhalb der Klasse verboten, aber über eine Indirektion kannst du dennoch auf den Speicher (d.h. den Zeiger selbst oder den <code>char</code> dahinter) zugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028812</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:08:43 GMT]]></title><description><![CDATA[<p>Was verstehst du unter privat? Das dient letztendlich nur der Kapselung.</p>
<p>Was du vielleicht suchst ist <code>const</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028813</guid><dc:creator><![CDATA[jkljkl]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:10:15 GMT]]></title><description><![CDATA[<p>Was soll den &quot;Inhalt ist privat&quot; bedeuten? Wenn man keinen Zugriff auf den Pointer hat, kann man diesen natürlich auch nicht dereferenzieren um an den Inhalt zu kommen. Das heißt aber nicht das der Inhalt dieser Adresse irgendwie geschützt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028814</guid><dc:creator><![CDATA[Tobiking2]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:10:15 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:10:37 GMT]]></title><description><![CDATA[<p>Mit &quot;private&quot;, &quot;public&quot; (etc) steuerst Du die &quot;Zugriffskontrolle&quot;. Die Zugriffskontrolle bezieht sich auf den Namen von dem, was Du deklarierst/definierst. Ob das nun ein Zeiger ist oder nicht, spielt keine Rolle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028815</guid><dc:creator><![CDATA[la_di_da]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:10:37 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:16:12 GMT]]></title><description><![CDATA[<p>Vielen dank , das beantwortet meine Frage .</p>
<p>Wäre folgender Zugriff also möglich oder nicht ?<br />
Wir nehmen einfach mal an dass ein korrekter C'tot ebenso wie ein D'tor implementiert worden sind .:D</p>
<pre><code class="language-cpp">A instance(&quot;name&quot;);
char * a = instance.getName();
*a = &quot;bbbb&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2028818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028818</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:50:09 GMT]]></title><description><![CDATA[<p>denke ja...</p>
<p>das ist ja das thema (manchmal ganz lustig zu nutzen) dass man eine variable und ihren inhalt versteckt, aber dann per zeiger wieder von ausserhalb drauf zugreift</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028833</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 16:59:40 GMT]]></title><description><![CDATA[<p>Bacid90210 schrieb:</p>
<blockquote>
<p>Vielen dank , das beantwortet meine Frage .</p>
<p>Wäre folgender Zugriff also möglich oder nicht ?<br />
Wir nehmen einfach mal an dass ein korrekter C'tot ebenso wie ein D'tor implementiert worden sind .:D</p>
<pre><code class="language-cpp">A instance(&quot;name&quot;);
char * a = instance.getName();
*a = &quot;bbbb&quot;;
</code></pre>
</blockquote>
<p>Bei solchen Schweinereien sollte man immer schön auf Objekt-Verantwortung achten.<br />
Wenn &quot;name&quot; im Kontruktor kopiert wird, dann hasse schnell mal nen Memory-Leak<br />
oder delete eines Stack-Objektes...</p>
<p>Lass solche design-technisch schmutzigen Sachen lieber sein.<br />
Implementier einen Setter und alles ist gut.<br />
Wenn du externe Klasse hast, die so einen Setter nicht zur Verfügung stellt,<br />
solltest du dich fragen, warum es so ist...</p>
<p>Gruß,<br />
XSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028838</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Wed, 02 Mar 2011 16:59:40 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 17:00:47 GMT]]></title><description><![CDATA[<p>Bacid90210 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">A instance(&quot;name&quot;);
char * a = instance.getName();
*a = &quot;bbbb&quot;;
</code></pre>
</blockquote>
<p>*a ist ein <strong>char</strong>, &quot;bbbb&quot; ist ein <strong>const char * const</strong>.</p>
<pre><code class="language-cpp">*a = &quot;bbbb&quot;;
</code></pre>
<p>dürfte Dir also um die Ohren fliegen.</p>
<pre><code class="language-cpp">*a = 'b';
</code></pre>
<p>sollte gehen. (sofern Dein Ctor korrekt ist)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2028839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028839</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Wed, 02 Mar 2011 17:00:47 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 17:03:01 GMT]]></title><description><![CDATA[<p>Dass das programmiertechnisch nicht sauber ist war mir ja klar <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="😃"
    /> ..<br />
Es ging mir eigentlich nur darum zu verstehen was denn jetzt wirklich private ist.</p>
<p>Dankeschön für die schnellen Antworten .<br />
Ein tolles Forum ist das 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/2028842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028842</guid><dc:creator><![CDATA[Bacid90210]]></dc:creator><pubDate>Wed, 02 Mar 2011 17:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 18:44:18 GMT]]></title><description><![CDATA[<p>Bacid90210 schrieb:</p>
<blockquote>
<p>Es ging mir eigentlich nur darum zu verstehen was denn jetzt wirklich private ist.</p>
</blockquote>
<pre><code class="language-cpp">class A
{
 public:
  int x;
};

class B
{
 private:
  int x;
};

int main()
{
 A a;
 a.x = 10; // Okay, da public

 B b;
 b.x = 100; // Error, da private
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2028889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028889</guid><dc:creator><![CDATA[khjkhjk]]></dc:creator><pubDate>Wed, 02 Mar 2011 18:44:18 GMT</pubDate></item><item><title><![CDATA[Reply to Privater Pointer ? on Wed, 02 Mar 2011 20:46:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class A
{
	private:  
		char *bla;
	public:
		const char* getBla()
		{
			return bla;
		}
};

int main(int argc, char* argv[])
{
	A a;
	char* b = a.getBla(); //Fehler const char* kann nicht in char* umgewandelt werden
	const char* c = a.getBla();

	*c = '\0'; //Fehler da die Variable const ist

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2028954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2028954</guid><dc:creator><![CDATA[Guest1337]]></dc:creator><pubDate>Wed, 02 Mar 2011 20:46:39 GMT</pubDate></item></channel></rss>