<?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&#x2F;definieren]]></title><description><![CDATA[<p>Ich hab ein kleines Problem.<br />
Ich bräuchte einen Operator um auf etwas zuzugreifen.<br />
Den &quot;-&gt;&quot; Operator benuzte ich um über einen Zeiger auf meine Klasse zuzugreifen.<br />
Diese Klasse wiederum besitzt einen Zeiger auf eine andere Klasse.<br />
Jetzt möchte ich gerne nicht immer Zeiger_auf_1_Klasse-&gt;Zeiger_auf_2_Klasse-&gt;<br />
schreiben sondern irgendwie einen Operator benutzen das ich dann einfach nur über den Zeiger auf die 1.Klasse auch an die 2. rankomme. Ich hoffe ihr versteht mein Problem.</p>
<p>Soweit ich weis kann man keine eigenen Operatoren definieren (also z.B. &amp;&gt; oder soetwas). Ich wollte aber sicherheitshalber nochmal fragen oder vielleicht hat ja auch jemand eine andere Idee.</p>
<p>Mfg and Thanks</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122528/operatoren-überladen-definieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 06:34:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122528.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Oct 2005 17:24:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatoren überladen&#x2F;definieren on Thu, 06 Oct 2005 17:24:22 GMT]]></title><description><![CDATA[<p>Ich hab ein kleines Problem.<br />
Ich bräuchte einen Operator um auf etwas zuzugreifen.<br />
Den &quot;-&gt;&quot; Operator benuzte ich um über einen Zeiger auf meine Klasse zuzugreifen.<br />
Diese Klasse wiederum besitzt einen Zeiger auf eine andere Klasse.<br />
Jetzt möchte ich gerne nicht immer Zeiger_auf_1_Klasse-&gt;Zeiger_auf_2_Klasse-&gt;<br />
schreiben sondern irgendwie einen Operator benutzen das ich dann einfach nur über den Zeiger auf die 1.Klasse auch an die 2. rankomme. Ich hoffe ihr versteht mein Problem.</p>
<p>Soweit ich weis kann man keine eigenen Operatoren definieren (also z.B. &amp;&gt; oder soetwas). Ich wollte aber sicherheitshalber nochmal fragen oder vielleicht hat ja auch jemand eine andere Idee.</p>
<p>Mfg and Thanks</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886576</guid><dc:creator><![CDATA[_Ocin_]]></dc:creator><pubDate>Thu, 06 Oct 2005 17:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren überladen&#x2F;definieren on Fri, 07 Oct 2005 06:57:29 GMT]]></title><description><![CDATA[<p>Is keine so gute Idee, weil dadurch nur noch du selbst in der Lage bist, zu erkennen was da in deinem Code passiert.<br />
Operatoren sollte man in erster Linie nur dann überladen wenn man dieses Verhalten von dem Objekt erwarten kann und nicht um den Zugriff auf eine Membervariable zu erleichtern. Ansonsten wird das ganze ziemlich verwirrend.<br />
Außerdem solltest du nicht direkt auf eine Membervariable zugreifen, sondern mit Get und Set-Funktionen arbeiten.</p>
<p>Gibt zwar viele die meinen man müsse das nicht machen... rate es jedoch jedem. Das erleichtert einem das Erweitern und die Pflege deiner Programme wesentlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886826</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Fri, 07 Oct 2005 06:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren überladen&#x2F;definieren on Fri, 07 Oct 2005 06:51:05 GMT]]></title><description><![CDATA[<p>Du könntest den Zeiger auf Klasse1 in einen Proxy stopfen und dort operator-&gt; implementieren. operator-&gt; hat nämlich die sehr interessante Eigenschaft, dass er vom Compiler immer wieder aufgerufen wird, bis er einen nackten Pointer-Typ zurückgibt. Allerdings ist der Aufwand und reale Nutzen für Dich zweifelhaft.</p>
<p>Und Mathias hat es auch schon gesagt - wenn man Operatoren überlädt, dann sollten(!) sich diese immer wie ihr normales C++ Gegenstück verhalten. Man benutzt operatoren nicht, um sich &quot;neue Features&quot; in die Sprache einzubauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886829</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 07 Oct 2005 06:51:05 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren überladen&#x2F;definieren on Fri, 07 Oct 2005 16:08:36 GMT]]></title><description><![CDATA[<p>Ja das ist mir schon klar mit der Kapselung und so.. hab ich auch so gemacht!<br />
Es ging im Grunde nur darum das ich in meiner Engine eine Klasse hab die sich um die gesamte Grafik kümmert. Und ich wollte es einfach so machen das man alle Befehle an die Grafikklasse schickt und diese dann DirectX aufruft.<br />
Ich hab zum Beispiel so Funktionen wie SetRenderState() in meiner Engine implementiert. Ich rufe also die Funktion meiner Engine so auf:<br />
pGrafikklasse-&gt;SetRenderState() und diese ruft dann nach ein paar anderen Prüfungen die Funktion IDIRECT3DDEVICE::SetRenderState() auf.<br />
Jetzt möchte ich allerdings nicht alle Funktionen der IDIRECT3DDEVICE-Schnittstelle nochmal schreiben damit ich sie über pGrafikklasse-&gt; aufrufen kann. Es ist jetzt nämlich so das ich einige Funktionen mit pGrafikklasse und die anderen mit pGrafikklasse-&gt;GetDirect3DDevice()-&gt; aufrufen muss.<br />
Das finde ich halt nicht so geschickt weil dann muss ich immer aufpassen ob ich die Funktion implementiert hab. Mein Gedanke war eben den &quot;-&gt;&quot; Operator so zu überladen das er die IDIRECT3DDEVICE-Schnittstelle zurückliefert, sodass ich die Funktionen auch über pGrafikklasse-&gt; aufrufen kann. Aber dann komme ich eben nicht mehr an die Funktionen ran, die ich direkt in die Klasse implementiert habe.<br />
Ich befürchte es gibt da nicht wirklich ne gescheite Lösung also muss ich mich halt daran gewöhnen einige mit pGrafikklasse-&gt; und die anderen mit pGrafikklasse-&gt;GetDirect3DDevice()-&gt; aufzurufen...</p>
<p>Aber danke für eure Bemühungen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/887246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/887246</guid><dc:creator><![CDATA[_Ocin_]]></dc:creator><pubDate>Fri, 07 Oct 2005 16:08:36 GMT</pubDate></item></channel></rss>