<?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[Cast: An private Member herankommen]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>die Zugriffsrechte werden doch nur zur Kompilezeit beachtet.<br />
1. Wenn ich einen Klasse A habe die nur einen private Int Member hat. Nun erstelle ich eine Klasse B mit nur einem Public Int. Wenn ich nun ein Objekt A nach B caste, kann ich dann auf den Int zugreifen? Was ich eigentlich wissen will: Beinflussen public und private den Aufbau des Objektes innerhalb des RAMs. (Das Stichwort Undefined behavior kenne ich.)</p>
<p>2. Ich habe eine Klasse A mit einem Public Int. Nun leite ich B von A ab, jedoch mit dem Schlüsselwort Private. Erstelle ich nun ein Objekt von B kann man auf den Int nicht mehr zugreifen. Mache ich nun einen Cast auf einen Zeiger vom Typ A, dann sollte doch der Int wieder zugreifbar sein. Beeinflussen private/public die Repräsentation des Objektes im Speicher?</p>
<p>3. Gibt es eine Programmiersprache die bei der Polymorphie den Rückgabewert zur Auswahl der richtigen Funktion heranzieht?</p>
<p>Vielen Dank</p>
<p>Luigi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256253/cast-an-private-member-herankommen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 10:28:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256253.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Dec 2009 10:18:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 10:18:19 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>die Zugriffsrechte werden doch nur zur Kompilezeit beachtet.<br />
1. Wenn ich einen Klasse A habe die nur einen private Int Member hat. Nun erstelle ich eine Klasse B mit nur einem Public Int. Wenn ich nun ein Objekt A nach B caste, kann ich dann auf den Int zugreifen? Was ich eigentlich wissen will: Beinflussen public und private den Aufbau des Objektes innerhalb des RAMs. (Das Stichwort Undefined behavior kenne ich.)</p>
<p>2. Ich habe eine Klasse A mit einem Public Int. Nun leite ich B von A ab, jedoch mit dem Schlüsselwort Private. Erstelle ich nun ein Objekt von B kann man auf den Int nicht mehr zugreifen. Mache ich nun einen Cast auf einen Zeiger vom Typ A, dann sollte doch der Int wieder zugreifbar sein. Beeinflussen private/public die Repräsentation des Objektes im Speicher?</p>
<p>3. Gibt es eine Programmiersprache die bei der Polymorphie den Rückgabewert zur Auswahl der richtigen Funktion heranzieht?</p>
<p>Vielen Dank</p>
<p>Luigi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820475</guid><dc:creator><![CDATA[Luigi_X]]></dc:creator><pubDate>Thu, 10 Dec 2009 10:18:19 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 10:54:57 GMT]]></title><description><![CDATA[<p>Luigi_X schrieb:</p>
<blockquote>
<p>Beinflussen public und private den Aufbau des Objektes innerhalb des RAMs.</p>
</blockquote>
<p>Der Aufbau der Klassen ist Sache des Compilerherstellers. Es wäre aber eine ungewöhnliche Compilerimplementierung, die einen Unterschied macht.</p>
<blockquote>
<p>Beeinflussen private/public die Repräsentation des Objektes im Speicher?</p>
</blockquote>
<p>Dies ist die gleiche Frage wie oben.</p>
<blockquote>
<p>3. Gibt es eine Programmiersprache die bei der Polymorphie den Rückgabewert zur Auswahl der richtigen Funktion heranzieht?</p>
</blockquote>
<p>Garantiert, aber mir fällt gerade keine ein.</p>
<p>Viel Spaß dabei, dir selber die Vorteile von Objektorientierung kaputt zu machen <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820489</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 Dec 2009 10:54:57 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 11:00:58 GMT]]></title><description><![CDATA[<p>Solche Fragen werden sehr schnell emotional aufgefasst? <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="🤡"
    /><br />
Ich werd mal was basteln...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820492</guid><dc:creator><![CDATA[Luigi_X]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 11:13:33 GMT]]></title><description><![CDATA[<p>Das hat nichts mit Emotionalität zu tun, das ist einfach eine Tatsache. Solche Dinge mögen zwar (fast) immer funktionieren, aber durch das Aushebeln der Kapselung machst du ihre Vorteile zunichte. Invarianten können dadurch verletzt werden, ohne dass die Klasse das weiß, damit kann das Verhalten von unerwartet bis undefiniert variieren, du wirfst die ganzen Garantien die dir die Schnittstelle dr Klasse gibt über Bord.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820498</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 11:32:23 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Das hat nichts mit Emotionalität zu tun, das ist einfach eine Tatsache. Solche Dinge mögen zwar (fast) immer funktionieren, aber durch das Aushebeln der Kapselung machst du ihre Vorteile zunichte. Invarianten können dadurch verletzt werden, ohne dass die Klasse das weiß, damit kann das Verhalten von unerwartet bis undefiniert variieren, du wirfst die ganzen Garantien die dir die Schnittstelle dr Klasse gibt über Bord.</p>
</blockquote>
<p>Dinge ihrem Sinn udn Zweck nach zu benutzen ist doch auch langweilig <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="😃"
    /> :xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820506</guid><dc:creator><![CDATA[sirchillalot]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 11:34:54 GMT]]></title><description><![CDATA[<p>Wo ist der Sinn? Nur mal so als Frage von einem Anfänger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820508</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 11:52:41 GMT]]></title><description><![CDATA[<p>Falls ich gemeint bin: Spaß am experimentieren. Mehr nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820515</guid><dc:creator><![CDATA[Luigi_X]]></dc:creator><pubDate>Thu, 10 Dec 2009 11:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 12:03:01 GMT]]></title><description><![CDATA[<p>Luigi_X schrieb:</p>
<blockquote>
<p>Falls ich gemeint bin: Spaß am experimentieren. Mehr nicht.</p>
</blockquote>
<p>Dann kannst du ja auch einfach dieses berüchtigte Konstrukt benutzen:</p>
<pre><code class="language-cpp">#define class struct
#define private public
#define protected public
</code></pre>
<p>Ist zwar im prinzip illegal (man darf keine reservierten Wörter als Makrobezeichner benutzen), machen aber fast alle Compiler mit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820521</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 Dec 2009 12:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to Cast: An private Member herankommen on Thu, 10 Dec 2009 12:04:06 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Luigi_X schrieb:</p>
<blockquote>
<p>Falls ich gemeint bin: Spaß am experimentieren. Mehr nicht.</p>
</blockquote>
<p>Dann kannst du ja auch einfach dieses berüchtigte Konstrukt benutzen:</p>
<pre><code class="language-cpp">#define class struct
#define private public
#define protected public
</code></pre>
<p>Ist zwar im prinzip illegal (man darf keine reservierten Wörter als Makrobezeichner benutzen), machen aber fast alle Compiler mit.</p>
</blockquote>
<p>löl <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="😃"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1820522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1820522</guid><dc:creator><![CDATA[sirchillalot]]></dc:creator><pubDate>Thu, 10 Dec 2009 12:04:06 GMT</pubDate></item></channel></rss>