<?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[this als Parameter übergeben, aus Java- mach C++-Code]]></title><description><![CDATA[<p>Servus,</p>
<p>ich bekomme es nicht hin, dass mein Programm kompiliert. Dazu kann ich nicht genau einschätzen, ob es egal ist, Referenzen oder Zeiger in Methoden hinein und aus Methoden heraus zu geben?</p>
<p>Ich habe eine Klasse A und eine Klasse B. A hat eine Methode machAufA( B b ); und in der Methode machAufA erfolgt der Aufruf auf der B-Instanz mit A als Parameter. Wie gießt ihr so etwas in C++-Code?</p>
<p>In Java mach ich es so:</p>
<pre><code>public class A {

	// Java
	double zahlenWert;

	public A( B b ) {
		this.zahlenWert = b.computeSomething( this );
	}
    ....
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/275458/this-als-parameter-übergeben-aus-java-mach-c-code</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 23:23:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/275458.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Oct 2010 22:23:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Thu, 14 Oct 2010 22:23:57 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich bekomme es nicht hin, dass mein Programm kompiliert. Dazu kann ich nicht genau einschätzen, ob es egal ist, Referenzen oder Zeiger in Methoden hinein und aus Methoden heraus zu geben?</p>
<p>Ich habe eine Klasse A und eine Klasse B. A hat eine Methode machAufA( B b ); und in der Methode machAufA erfolgt der Aufruf auf der B-Instanz mit A als Parameter. Wie gießt ihr so etwas in C++-Code?</p>
<p>In Java mach ich es so:</p>
<pre><code>public class A {

	// Java
	double zahlenWert;

	public A( B b ) {
		this.zahlenWert = b.computeSomething( this );
	}
    ....
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1965837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965837</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Thu, 14 Oct 2010 22:23:57 GMT</pubDate></item><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Thu, 14 Oct 2010 22:35:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class A
{
   double zahlenWert;

   public:
       A( B&amp; b )
       { 
          zahlenWert = b.computeSomething( this );
       }
};
</code></pre>
<p>Wenn b 0 sein darf, sollte ein Zeiger statt einer Referenz verwendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1965845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965845</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Thu, 14 Oct 2010 22:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Thu, 14 Oct 2010 22:39:02 GMT]]></title><description><![CDATA[<p>Das sieht ziemlich direkt übertragbar aus, wenn man die Syntax anpasst:</p>
<pre><code class="language-cpp">class A {

    // C++ :-)
    double zahlenWert;

  public:
     A( B b ) {
        zahlenWert = b.computeSomething( this );   // Member braucht man nicht durch this zu qualifizieren
    }
</code></pre>
<p>Wobei man noch entscheiden kann, ob das this beim Aufruf von computeSomething nicht vorher noch dereferenziert werden sollte. Und eventuell kann man den ganzen Aufruf auch in die Initialiserungsliste packen, aber das kommt dann darauf an, was computeSomething genau mit dem A macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1965847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965847</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 14 Oct 2010 22:39:02 GMT</pubDate></item><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Thu, 14 Oct 2010 22:52:49 GMT]]></title><description><![CDATA[<p>Okay, eine Frage habe ich dazu noch: this ist ja die Übergabe als konstanter Zeiger, aber hier wird ja von der aktuellen Instanz ein Eigenschaftswert errechnet - das heißt doch, dass ich this hier nicht nehmen kann, weil this nur mit lesendem Zugriff vereinbar ist - oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1965854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965854</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Thu, 14 Oct 2010 22:52:49 GMT</pubDate></item><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Thu, 14 Oct 2010 23:12:27 GMT]]></title><description><![CDATA[<p>nein auf this kannst du schreiben und lesen<br />
es sei denn die aktuelle methode ist mit const gekennzeichnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1965861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965861</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Thu, 14 Oct 2010 23:12:27 GMT</pubDate></item><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Fri, 15 Oct 2010 00:04:20 GMT]]></title><description><![CDATA[<p>Jay1980 schrieb:</p>
<blockquote>
<p>Servus,</p>
<p>ich bekomme es nicht hin, dass mein Programm kompiliert. Dazu kann ich nicht genau einschätzen, ob es egal ist, Referenzen oder Zeiger in Methoden hinein und aus Methoden heraus zu geben?</p>
<p>Ich habe eine Klasse A und eine Klasse B. A hat eine Methode machAufA( B b ); und in der Methode machAufA erfolgt der Aufruf auf der B-Instanz mit A als Parameter. Wie gießt ihr so etwas in C++-Code?</p>
<p>In Java mach ich es so:</p>
<pre><code>public class A {

	// Java
	double zahlenWert;
	
	public A( B b ) {
		this.zahlenWert = b.computeSomething( this );
	}
    ....
</code></pre>
</blockquote>
<p>this ist in C++ spaßigerweise ein Zeiger.<br />
Deswegen</p>
<pre><code class="language-cpp">this-&gt;zahlenWert = b.computeSomething( this );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1965882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965882</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 15 Oct 2010 00:04:20 GMT</pubDate></item><item><title><![CDATA[Reply to this als Parameter übergeben, aus Java- mach C++-Code on Fri, 15 Oct 2010 14:00:46 GMT]]></title><description><![CDATA[<blockquote>
<p>Okay, eine Frage habe ich dazu noch: this ist ja die Übergabe als konstanter Zeiger, aber hier wird ja von der aktuellen Instanz ein Eigenschaftswert errechnet - das heißt doch, dass ich this hier nicht nehmen kann, weil this nur mit lesendem Zugriff vereinbar ist - oder?</p>
</blockquote>
<p>In C++ gibt es Unterscheidungen zwischen Konstante zeiger und Zeiger auf Konstanten. Ein Konstanter Zeiter kann auf nichts anderes mehr zeigen.<br />
Ein Zeiger auf ne Konstate bewirkt das du den Wert über den Zeiger nicht ändern kannst, sei der Wert jetzt wirklich konstant oder nicht (dereferenzierter Wert wird als Konstante behandelt, egal ob nun als const deklariert oder nicht).<br />
Natürlich gibt es dann auch konstante Zeiger auf Konstanten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1966090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1966090</guid><dc:creator><![CDATA[Ka-Mensch]]></dc:creator><pubDate>Fri, 15 Oct 2010 14:00:46 GMT</pubDate></item></channel></rss>