<?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[Klasse, frage zu Referenzparametern]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab eine Klasse und mit einer Funktion:</p>
<pre><code class="language-cpp">class vektor{
public:
vektor(float a=0, float b=0, float c=0);
vektor skalarproduckt(const vektor&amp; n);
};
</code></pre>
<p>Warum funktioniert sowas?</p>
<pre><code class="language-cpp">vektor x;

x = x.skalarproduckt(20.7);
</code></pre>
<p>Merci dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178005/klasse-frage-zu-referenzparametern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 06:37:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178005.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Apr 2007 12:04:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse, frage zu Referenzparametern on Fri, 06 Apr 2007 12:04:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab eine Klasse und mit einer Funktion:</p>
<pre><code class="language-cpp">class vektor{
public:
vektor(float a=0, float b=0, float c=0);
vektor skalarproduckt(const vektor&amp; n);
};
</code></pre>
<p>Warum funktioniert sowas?</p>
<pre><code class="language-cpp">vektor x;

x = x.skalarproduckt(20.7);
</code></pre>
<p>Merci dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1260583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1260583</guid><dc:creator><![CDATA[Fektoren]]></dc:creator><pubDate>Fri, 06 Apr 2007 12:04:06 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, frage zu Referenzparametern on Fri, 06 Apr 2007 12:30:09 GMT]]></title><description><![CDATA[<p>skalarproduckt erwartet einen vektor. Wenn du nun einen anderen Typ übergibst, in diesem Fall double, sucht der Compiler nach einer impliziten Typkonvertierung nach vektor. Die hast du (fast) mit deinem Konstruktor, denn du kannst den Konstruktor von vektor mit einem float aufrufen. Da zumindest der VC double intern mit einer Warnung in float konvertiert, sieht der Aufruf so aus:</p>
<pre><code class="language-cpp">x = x.skalarproduckt(vektor(20.7d));
</code></pre>
<p>Daraus macht der Compiler folgendes:</p>
<pre><code class="language-cpp">x = x.skalarproduckt(vektor(20.7f, 0.0f, 0.0f));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1260595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1260595</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 06 Apr 2007 12:30:09 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, frage zu Referenzparametern on Fri, 06 Apr 2007 13:40:21 GMT]]></title><description><![CDATA[<p>Willst du verhindern, dass so etwas möglich ist mach es so:</p>
<pre><code class="language-cpp">class vektor
{
public:
  explicit vektor(float a=0, float b=0, float c=0);
  vektor skalarproduckt(const vektor&amp; n);
};
</code></pre>
<p>Dadurch geht nur noch so etwas:</p>
<pre><code class="language-cpp">x = x.skalarproduckt(vektor(20.7f));
</code></pre>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1260627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1260627</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Fri, 06 Apr 2007 13:40:21 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, frage zu Referenzparametern on Fri, 06 Apr 2007 16:36:51 GMT]]></title><description><![CDATA[<p>Wenn Du schon &quot;skalarproduckt&quot; mit &quot;ck&quot; schreibst, sollte die Klasse wenigstens auch &quot;vecktor&quot; heißen …</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1260751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1260751</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 06 Apr 2007 16:36:51 GMT</pubDate></item></channel></rss>