<?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[komischer konstruktoraufruf!]]></title><description><![CDATA[<p>hab hier nen kleinen verständnisproblem beim aufruf von konstruktoren:</p>
<pre><code class="language-cpp">class X {
  private:

    int data;

  public:
    ~X()
    {
      cout &lt;&lt; &quot;Destruktor  &quot; &lt;&lt; data &lt;&lt; '\n';
    }

    X(int d = -1) : data(d)
    {
      cout &lt;&lt; &quot;Allgemeiner Konstruktor  &quot; &lt;&lt; data &lt;&lt; '\n';
    }

    X(const X &amp;x) : data(x.data)
    {
      cout &lt;&lt; &quot;Kopierkonstruktor  &quot; &lt;&lt; data &lt;&lt; '\n';
    }

    X&amp; operator=(const X&amp; x)
    {
      data = x.data;
      cout &lt;&lt; &quot;Zuweisungsoperator  &quot; &lt;&lt; data &lt;&lt; '\n';
      return *this;
    }
};

void g(X &amp;a)
{
  cout &lt;&lt; '\n' &lt;&lt; &quot;Start g&quot; &lt;&lt; '\n';
  X b = a;
  cout &lt;&lt; &quot;Ende g&quot; &lt;&lt; '\n';
}

X a(0);

int main()
{
  cout &lt;&lt; '\n' &lt;&lt; &quot;Start main&quot; &lt;&lt; '\n';

  X a;
  a = 20;

  return 0;
}
</code></pre>
<p>es geht um das a=20. das verhält sich ja genauso wie a=X(20). oder? irgendwie verstehe ich das nicht ganz. wie wird denn da erkannt was gemeint war?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286576/komischer-konstruktoraufruf</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 21:31:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286576.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 May 2011 11:53:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to komischer konstruktoraufruf! on Thu, 12 May 2011 11:53:19 GMT]]></title><description><![CDATA[<p>hab hier nen kleinen verständnisproblem beim aufruf von konstruktoren:</p>
<pre><code class="language-cpp">class X {
  private:

    int data;

  public:
    ~X()
    {
      cout &lt;&lt; &quot;Destruktor  &quot; &lt;&lt; data &lt;&lt; '\n';
    }

    X(int d = -1) : data(d)
    {
      cout &lt;&lt; &quot;Allgemeiner Konstruktor  &quot; &lt;&lt; data &lt;&lt; '\n';
    }

    X(const X &amp;x) : data(x.data)
    {
      cout &lt;&lt; &quot;Kopierkonstruktor  &quot; &lt;&lt; data &lt;&lt; '\n';
    }

    X&amp; operator=(const X&amp; x)
    {
      data = x.data;
      cout &lt;&lt; &quot;Zuweisungsoperator  &quot; &lt;&lt; data &lt;&lt; '\n';
      return *this;
    }
};

void g(X &amp;a)
{
  cout &lt;&lt; '\n' &lt;&lt; &quot;Start g&quot; &lt;&lt; '\n';
  X b = a;
  cout &lt;&lt; &quot;Ende g&quot; &lt;&lt; '\n';
}

X a(0);

int main()
{
  cout &lt;&lt; '\n' &lt;&lt; &quot;Start main&quot; &lt;&lt; '\n';

  X a;
  a = 20;

  return 0;
}
</code></pre>
<p>es geht um das a=20. das verhält sich ja genauso wie a=X(20). oder? irgendwie verstehe ich das nicht ganz. wie wird denn da erkannt was gemeint war?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2062182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2062182</guid><dc:creator><![CDATA[steffanJ]]></dc:creator><pubDate>Thu, 12 May 2011 11:53:19 GMT</pubDate></item><item><title><![CDATA[Reply to komischer konstruktoraufruf! on Thu, 12 May 2011 12:15:08 GMT]]></title><description><![CDATA[<p>steffanJ schrieb:</p>
<blockquote>
<p>es geht um das a=20. das verhält sich ja genauso wie a=X(20).</p>
</blockquote>
<p>Das ist der Aufruf des Zuweisungsoperators. Es gibt nur den einen, der ein X per Referenz annimmt, also wird aus 20 über den Konstruktor ein temporäres X-Objekt angelegt und dem Zuweisungsoperator übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2062189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2062189</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 12 May 2011 12:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to komischer konstruktoraufruf! on Thu, 12 May 2011 12:03:27 GMT]]></title><description><![CDATA[<p>X kann man implizit über den Konvertierungskonstruktor aus einem int erzeugen. Mach den Konstruktor mal <code>explicit</code> , dann geht das nicht mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2062191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2062191</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Thu, 12 May 2011 12:03:27 GMT</pubDate></item><item><title><![CDATA[Reply to komischer konstruktoraufruf! on Thu, 12 May 2011 12:19:53 GMT]]></title><description><![CDATA[<p>ah...ok. vielen dank! habs verstanden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2062199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2062199</guid><dc:creator><![CDATA[steffanJ]]></dc:creator><pubDate>Thu, 12 May 2011 12:19:53 GMT</pubDate></item><item><title><![CDATA[Reply to komischer konstruktoraufruf! on Thu, 12 May 2011 13:41:58 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2062244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2062244</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 12 May 2011 13:41:58 GMT</pubDate></item></channel></rss>