<?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[Zeiger auf Klassenkomponente]]></title><description><![CDATA[<p>Hallo,<br />
-&gt; ich möchte in einer void Fkt. einen Zeiger auf eine Klassenkomponente der Klasse K des Typs float übergeben um den Wert zu ändern. &lt;-</p>
<p>Genauer:</p>
<p>Ich habe also eine Klasse K:</p>
<p>class K {public: float x=0;}</p>
<p>,nun möchte ich eine Fkt:</p>
<p>void k_aendern( &quot;Zeiger auf x innerhalb von k (*1)&quot; )<br />
{<br />
&quot;aendere den Wert von x innerhalb von K auf z.B.: 5.5 (*2)&quot;<br />
}</p>
<p>und<br />
in der int main()<br />
{<br />
K k; // Objekt k vom Typ K<br />
x_in_k_aendern(&quot;Zeiger auf x von k (*3)&quot;);<br />
}</p>
<p>Ich habe mit der mir vorliegenden Literatur einige Versuche gestartet (wie für (*3) k_aendern(&amp;k::x) und sowas), ohne Erfolg, und wüsste jetzt gerne, was ich für (*1) (*2) und (*3) setzen muss, damit das funktioniert.<br />
Ich kann in der k_aendern Fkt. ja nicht einfach k.x=5.5 setzen, da der Fkt. k unbekannt ist.<br />
Ich glaube das ganze ist sehr Standardmäßig, nur ich verpeil wohl die Syntax. Weiss einer Rat oder Alternativen (am besten ohne weitere variablen einzuführen) ??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162672/zeiger-auf-klassenkomponente</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 16:53:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162672.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Oct 2006 14:13:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Sat, 21 Oct 2006 14:13:01 GMT]]></title><description><![CDATA[<p>Hallo,<br />
-&gt; ich möchte in einer void Fkt. einen Zeiger auf eine Klassenkomponente der Klasse K des Typs float übergeben um den Wert zu ändern. &lt;-</p>
<p>Genauer:</p>
<p>Ich habe also eine Klasse K:</p>
<p>class K {public: float x=0;}</p>
<p>,nun möchte ich eine Fkt:</p>
<p>void k_aendern( &quot;Zeiger auf x innerhalb von k (*1)&quot; )<br />
{<br />
&quot;aendere den Wert von x innerhalb von K auf z.B.: 5.5 (*2)&quot;<br />
}</p>
<p>und<br />
in der int main()<br />
{<br />
K k; // Objekt k vom Typ K<br />
x_in_k_aendern(&quot;Zeiger auf x von k (*3)&quot;);<br />
}</p>
<p>Ich habe mit der mir vorliegenden Literatur einige Versuche gestartet (wie für (*3) k_aendern(&amp;k::x) und sowas), ohne Erfolg, und wüsste jetzt gerne, was ich für (*1) (*2) und (*3) setzen muss, damit das funktioniert.<br />
Ich kann in der k_aendern Fkt. ja nicht einfach k.x=5.5 setzen, da der Fkt. k unbekannt ist.<br />
Ich glaube das ganze ist sehr Standardmäßig, nur ich verpeil wohl die Syntax. Weiss einer Rat oder Alternativen (am besten ohne weitere variablen einzuführen) ??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158777</guid><dc:creator><![CDATA[CtheR]]></dc:creator><pubDate>Sat, 21 Oct 2006 14:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Sat, 21 Oct 2006 14:19:46 GMT]]></title><description><![CDATA[<p>CtheR schrieb:</p>
<blockquote>
<p>Ich kann in der k_aendern Fkt. ja nicht einfach k.x=5.5 setzen, da der Fkt. k unbekannt ist.</p>
</blockquote>
<p>Wie wärs dann, der Funktion k bekannt zu machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158784</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 21 Oct 2006 14:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Sat, 21 Oct 2006 14:24:47 GMT]]></title><description><![CDATA[<p>Klingt sinnvoll und einfach,<br />
wie mache ich das denn ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158788</guid><dc:creator><![CDATA[CtheR]]></dc:creator><pubDate>Sat, 21 Oct 2006 14:24:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Sat, 21 Oct 2006 22:04:30 GMT]]></title><description><![CDATA[<p>Meinst du einfach so?</p>
<pre><code class="language-cpp">class K
{
public:
	K()
		:	x(0)
	{
	}

	float x;
};

void changeSomething(float* v)
{
	*v = 123.456f;
}

int main(int argc, char** argv)
{
	K k;
	changeSomething(&amp;(k.x));
	return 0;
}
</code></pre>
<p>Oder willst du was anderes? Wenn du was anderes willst hab ichs auf jeden Fall nicht verstanden was du willst <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="🙂"
    /><br />
So kannst du halt an &quot;changeSomething&quot; einen Pointer auf irgendein float übergeben - egal ob das jetzt ein Member von einem K ist oder ganz woanders lebt. Wenn du willst dass man nur einen Zeiger auf ein float innerhalb von einem K übergeben kann dann musst du nen member-pointer + instance-pointer an &quot;changeSomething&quot; übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158798</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Sat, 21 Oct 2006 22:04:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Sat, 21 Oct 2006 22:17:51 GMT]]></title><description><![CDATA[<p>p.S.: ich tendiere dazu Fragen wörtlich zu nehmen, auch wenn vielleicht eine andere/einfachere Lösung besser wäre. Natürlich kannst du anstelle von einem Zeiger auf float auch einen Zeiger auf K übergeben, wenn die Funktion die in K was ändern will selbst weiss WAS (also welches float z.B.) sie da drinnen ändern will.</p>
<pre><code class="language-cpp">// declare K ...
void changeK(K* k)
{
    if(k)
        k-&gt;x = 42;
}

void foo()
{
    K k;
    changeK(&amp;k);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1158802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158802</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Sat, 21 Oct 2006 22:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Mon, 23 Oct 2006 11:23:53 GMT]]></title><description><![CDATA[<p>Sorry, das ich gestern nicht mehr geantwortet habe, das Forum schien irgendwie down zu sein....<br />
Also ich habe das Problem anders gelöst (umständlicher), aber wie im Code angegeben (so hatte ichs auch versucht) hat es nicht funktioniert.<br />
Hab dazu im &quot;RRZN C++ für C-Programmierer&quot; gefunden:<br />
Zitat:<br />
&quot;Eine Variable pf vom Typ Zeiger auf eine float-Komponente der Klasse complex (also son Im-Re-Bsp.)wird deklariert und initialisiert :<br />
float complex::pf = &amp;complex::re;<br />
Der Daterntyp float complex::* ist sorgfältig zu unterscheiden vom Typ float*.. Ersterer repräsentiert die relative Stellung einer Float Komponente in der Klasse komplex, letzterer die Speicheradresse einer beliebigen float-Variablen.&quot;<br />
Zitat Ende.<br />
Verwirrte mich etwas, ist aber jetzt egal, werd bei Zeiten noch mal drüber nachdenken, bin aber ganz froh, dass es jetzt funzt.</p>
<p>DANKE für eure Hilfe !!!<br />
Ich denke ich komme jetzt alleine klar.<br />
PS.: super Forum schnelle antworten, hier bleib ich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159443</guid><dc:creator><![CDATA[CtheR]]></dc:creator><pubDate>Mon, 23 Oct 2006 11:23:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Klassenkomponente on Mon, 23 Oct 2006 11:40:42 GMT]]></title><description><![CDATA[<p>Der grüne Smily war ursprünglich ein complex : : * pf ......</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159461</guid><dc:creator><![CDATA[CtheR]]></dc:creator><pubDate>Mon, 23 Oct 2006 11:40:42 GMT</pubDate></item></channel></rss>