<?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[Konvertierungsoperator für &amp;quot;Zeiger auf Objekt&amp;quot;]]></title><description><![CDATA[<p>Ich habe diese Klasse A mit Konvertierungsoperatoren für Objekte einer Klasse B. Das ist soweit ok, aber ich bekomme ein Problem, sobald ich es mit einer Funktion zu tun habe, die einen Zeiger ein B-Objekt erwartet. Ich könnte der Klasse A Konvertierungsoperatoren für B* verpassen, aber dann habe ich mir eine inkonsistene Schreibweise geschaffen:</p>
<pre><code class="language-cpp">A aobj;
B bobj;
// DoSomethingWithB(B* p)
DoSomethingWithB(&amp;b);
DoSomethingWithB(a); // statt &amp;a
</code></pre>
<p>Eine andere Möglichkeit wäre, den operator &amp; so zu überladen, dass er einen Zeiger auf B zurückgibt. Dann geht aber nichts mehr, sobald ich wieder mal einen Zeiger auf A haben will. Die hinter beiden Objekten liegende Datenstruktur ist prinzipiell identisch, deshalb könnte ich die Zeiger zueinander auch immer explizit casten, aber da habe ich dann einen Mehraufwand an Schreibarbeit. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Was wäre für mein Problem wohl die beste Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215751/konvertierungsoperator-für-quot-zeiger-auf-objekt-quot</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 02:08:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215751.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Jun 2008 23:26:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konvertierungsoperator für &amp;quot;Zeiger auf Objekt&amp;quot; on Sat, 14 Jun 2008 23:26:36 GMT]]></title><description><![CDATA[<p>Ich habe diese Klasse A mit Konvertierungsoperatoren für Objekte einer Klasse B. Das ist soweit ok, aber ich bekomme ein Problem, sobald ich es mit einer Funktion zu tun habe, die einen Zeiger ein B-Objekt erwartet. Ich könnte der Klasse A Konvertierungsoperatoren für B* verpassen, aber dann habe ich mir eine inkonsistene Schreibweise geschaffen:</p>
<pre><code class="language-cpp">A aobj;
B bobj;
// DoSomethingWithB(B* p)
DoSomethingWithB(&amp;b);
DoSomethingWithB(a); // statt &amp;a
</code></pre>
<p>Eine andere Möglichkeit wäre, den operator &amp; so zu überladen, dass er einen Zeiger auf B zurückgibt. Dann geht aber nichts mehr, sobald ich wieder mal einen Zeiger auf A haben will. Die hinter beiden Objekten liegende Datenstruktur ist prinzipiell identisch, deshalb könnte ich die Zeiger zueinander auch immer explizit casten, aber da habe ich dann einen Mehraufwand an Schreibarbeit. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Was wäre für mein Problem wohl die beste Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529308</guid><dc:creator><![CDATA[Nightly Coder]]></dc:creator><pubDate>Sat, 14 Jun 2008 23:26:36 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierungsoperator für &amp;quot;Zeiger auf Objekt&amp;quot; on Sat, 14 Jun 2008 23:43:49 GMT]]></title><description><![CDATA[<p>das könnte an deinem abstrakten beispiel liegen, aber ich finde die tatsächliche inkonsistenz ist eine andere, nämlich dass die funktion &quot;DoSomethingWithB&quot; heißt und aber plötzlich ein A übernimmt. warum nicht</p>
<pre><code class="language-cpp">DoSomethingWithB(a.asB()); // statt &amp;a
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529311</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sat, 14 Jun 2008 23:43:49 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierungsoperator für &amp;quot;Zeiger auf Objekt&amp;quot; on Sun, 15 Jun 2008 14:42:47 GMT]]></title><description><![CDATA[<p>Naja, meine Klasse A ist im Prinzip ein B - soll mir nur die Arbeit vereinfachen.<br />
Bei obigen Satz ist mir jetzt auch gerade eine Lösung eingefallen, die wohl die Beste sein dürfte: Ich erbe mit A einfach von B und mache mir Polymorphie zu nutze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529529</guid><dc:creator><![CDATA[Nightly Coder]]></dc:creator><pubDate>Sun, 15 Jun 2008 14:42:47 GMT</pubDate></item></channel></rss>