<?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[operatoren überladen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein struct, der im wesentlichen eine matrix ist, also einen int[][] enthält. Damit ich nun auf einen Eintrag einfach zugreifen kann, habe ich den operator () überschrieben:</p>
<pre><code class="language-cpp">int operator() (int x, int y){ return matrix[x][y]; }
</code></pre>
<p>Nun würde ich gerne auch die Zuordnung eines einzelnen Elements der matrix so vereinfachen. Doch blicke ich irgendwie nicht ganz durch, wie das geschehen soll...<br />
Ich hoffe es kann mir jemand helfen.</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180083/operatoren-überladen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 14:22:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180083.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Apr 2007 14:44:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 14:44:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein struct, der im wesentlichen eine matrix ist, also einen int[][] enthält. Damit ich nun auf einen Eintrag einfach zugreifen kann, habe ich den operator () überschrieben:</p>
<pre><code class="language-cpp">int operator() (int x, int y){ return matrix[x][y]; }
</code></pre>
<p>Nun würde ich gerne auch die Zuordnung eines einzelnen Elements der matrix so vereinfachen. Doch blicke ich irgendwie nicht ganz durch, wie das geschehen soll...<br />
Ich hoffe es kann mir jemand helfen.</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275203</guid><dc:creator><![CDATA[smart]]></dc:creator><pubDate>Sat, 28 Apr 2007 14:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 14:45:47 GMT]]></title><description><![CDATA[<p>Gib ne Referenz zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275205</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 28 Apr 2007 14:45:47 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 14:48:15 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Gib ne Referenz zurück.</p>
</blockquote>
<p>Und was habe ich dann davon?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275207</guid><dc:creator><![CDATA[smart]]></dc:creator><pubDate>Sat, 28 Apr 2007 14:48:15 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 14:50:56 GMT]]></title><description><![CDATA[<p>ich müsse ja irgendwie den operator= überschreiben, aber ich kann ja nirgends den Punkt x,y der matrix den ich ändern will angeben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275210</guid><dc:creator><![CDATA[smart]]></dc:creator><pubDate>Sat, 28 Apr 2007 14:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 15:24:25 GMT]]></title><description><![CDATA[<p>ich dachte eigentlich, das Problem könnte schnell gelöst werden, aber vielleicht ist es ja auch nicht so ganz klar. Darum hier etwas mehr Code:</p>
<pre><code class="language-cpp">struct matrix{
  int[][] m;
  operator ()(int x, int y){ return m[x][y]; }
}
</code></pre>
<p>Das lässt sich nun z.B. so verwenden, und funktioniert wunderbar (initialisierung usw. hab ich im Code mal weggelassen)</p>
<pre><code class="language-cpp">matrix q;
int a = q(2,2);
</code></pre>
<p>Nun würde ich jedoch auch gerne einzelne Matrixelemente ebenso elegant zuweisen können, also</p>
<pre><code class="language-cpp">matrix q;
q(1,1) = 5;
</code></pre>
<p>Leider habe ich wirklich keine Ahnung wie das gehen soll, und auch noch nichts äquivalentes gefunden.<br />
Ich hoffe das Problem ist nun glasklar und jemand kann mir helfen</p>
<p><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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275229</guid><dc:creator><![CDATA[smart]]></dc:creator><pubDate>Sat, 28 Apr 2007 15:24:25 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 15:28:53 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Gib ne Referenz zurück.</p>
</blockquote>
<p>Offensichtlich hast du das nie probiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275231</guid><dc:creator><![CDATA[Da ist die Lösung]]></dc:creator><pubDate>Sat, 28 Apr 2007 15:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 15:36:00 GMT]]></title><description><![CDATA[<p>wow, jetzt hab ich es kapiert. Einfach anstelle von einem int, ein int&amp; zurückgeben, und der Wert lässt sich dann ändern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275236</guid><dc:creator><![CDATA[smart]]></dc:creator><pubDate>Sat, 28 Apr 2007 15:36:00 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren überladen on Sat, 28 Apr 2007 16:09:14 GMT]]></title><description><![CDATA[<p>Hmm ja nee jetzt wirklich? Vllt solltest du nochmal die Grundlagen dir angucken.</p>
<pre><code class="language-cpp">int&amp; operator()(const int x, const int y){ return m[x][y]; }
</code></pre>
<p>... wobei du das ganze noch sowas wie wenn &gt; array_größe dann throw execption einbauen solltest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275260</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 28 Apr 2007 16:09:14 GMT</pubDate></item></channel></rss>