<?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[Pfeil-Operator -&amp;gt; überladen]]></title><description><![CDATA[<p>Hallo,</p>
<p>leider bin ich über die Such-Funktion nicht fündig geworden, deshalb stelle ich jetzt folgende Frage.</p>
<p>Ich habe folgende Struktur</p>
<pre><code class="language-cpp">struct Test                                                
{                                                                
  Test1Ptr ptest1;                                    
  Test2Ptr ptest2;     
};
</code></pre>
<p>dann habe ich Funktionen</p>
<pre><code class="language-cpp">void fkt_test1_funktion(...)
{
  Test1Ptr Hans

  // Zeiger auf die Struktur       
  struct Test ptest;                                         
  struct Test * ptest = &amp;test;

  // Test1objekt anlegen
  ptest-&gt;ptest1 = getTest1objekt();

  // Werte setzen
  fkt_setzen_test1(ptest)
}

void fkt_setzen_test1(struct Test * ptest)
{
  ptest-&gt;ptest1-&gt;setGroesse(groesse);
}

//////////////////////////////////////////////////////////////////////////

void fkt_test2_funktion(...)
{
  Test2Ptr Gretl

  // Zeiger auf die Struktur       
  struct Test ptest;                                         
  struct Test * ptest = &amp;test;

  // Test2objekt anlegen
  ptest-&gt;ptest2 = getTest2objekt();

  // Werte setzen
  fkt_setzen_test2(ptest)
}

void fkt_setzen_test2(struct Test * ptest)
{
  ptest-&gt;ptest2-&gt;setGroesse(groesse);
}
</code></pre>
<p>wie man erkennt wird sowohl bei Test1 als auch bei Test2 jeweils im Grunde dasgleiche gemacht, deshalb habe ich mir eine Art übergeordnete Funktion vorgestellt. Bei dieser soll der Pfeil-Aufruf überladen werden, so in der Art wie</p>
<pre><code class="language-cpp">void fkt_test_funktion(...)
{
  Test1Ptr Hans
  Test2Prt Gretl

  // Zeiger auf die Struktur       
  struct Test ptest;                                         
  struct Test * ptest = &amp;test;

  // Test1objekt anlegen
  if (bla)
  {
    ptest-&gt;ptest1 = getTest1objekt();
    // Überladen
    ptest-&gt;ptest_global = ptest-&gt;ptest1;
  }
  else
  {
    ptest-&gt;ptest2 = getTest2objekt();
    // Überladen
    ptest-&gt;ptest_global = ptest-&gt;ptest2;
  }

  // Werte setzen
  fkt_setzen_test(ptest)
}

// Somit kann man mit einer einzigen Funktion fkt_setzen arbeiten

void fkt_setzen_test(struct Test * ptest)
{
  ptest-&gt;ptest_global-&gt;setGroesse(groesse);
}
</code></pre>
<p>Ist dies so möglich? Ich hoffe ich habe mich gut ausgedrückt und es ist herausgekommen, was ich haben will. Für Tipps und Hinweise hierzu wäre ich sehr dankbar.</p>
<p>Viele Grüße<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/169719/pfeil-operator-gt-überladen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 21:21:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169719.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Jan 2007 10:07:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pfeil-Operator -&amp;gt; überladen on Mon, 08 Jan 2007 10:09:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>leider bin ich über die Such-Funktion nicht fündig geworden, deshalb stelle ich jetzt folgende Frage.</p>
<p>Ich habe folgende Struktur</p>
<pre><code class="language-cpp">struct Test                                                
{                                                                
  Test1Ptr ptest1;                                    
  Test2Ptr ptest2;     
};
</code></pre>
<p>dann habe ich Funktionen</p>
<pre><code class="language-cpp">void fkt_test1_funktion(...)
{
  Test1Ptr Hans

  // Zeiger auf die Struktur       
  struct Test ptest;                                         
  struct Test * ptest = &amp;test;

  // Test1objekt anlegen
  ptest-&gt;ptest1 = getTest1objekt();

  // Werte setzen
  fkt_setzen_test1(ptest)
}

void fkt_setzen_test1(struct Test * ptest)
{
  ptest-&gt;ptest1-&gt;setGroesse(groesse);
}

//////////////////////////////////////////////////////////////////////////

void fkt_test2_funktion(...)
{
  Test2Ptr Gretl

  // Zeiger auf die Struktur       
  struct Test ptest;                                         
  struct Test * ptest = &amp;test;

  // Test2objekt anlegen
  ptest-&gt;ptest2 = getTest2objekt();

  // Werte setzen
  fkt_setzen_test2(ptest)
}

void fkt_setzen_test2(struct Test * ptest)
{
  ptest-&gt;ptest2-&gt;setGroesse(groesse);
}
</code></pre>
<p>wie man erkennt wird sowohl bei Test1 als auch bei Test2 jeweils im Grunde dasgleiche gemacht, deshalb habe ich mir eine Art übergeordnete Funktion vorgestellt. Bei dieser soll der Pfeil-Aufruf überladen werden, so in der Art wie</p>
<pre><code class="language-cpp">void fkt_test_funktion(...)
{
  Test1Ptr Hans
  Test2Prt Gretl

  // Zeiger auf die Struktur       
  struct Test ptest;                                         
  struct Test * ptest = &amp;test;

  // Test1objekt anlegen
  if (bla)
  {
    ptest-&gt;ptest1 = getTest1objekt();
    // Überladen
    ptest-&gt;ptest_global = ptest-&gt;ptest1;
  }
  else
  {
    ptest-&gt;ptest2 = getTest2objekt();
    // Überladen
    ptest-&gt;ptest_global = ptest-&gt;ptest2;
  }

  // Werte setzen
  fkt_setzen_test(ptest)
}

// Somit kann man mit einer einzigen Funktion fkt_setzen arbeiten

void fkt_setzen_test(struct Test * ptest)
{
  ptest-&gt;ptest_global-&gt;setGroesse(groesse);
}
</code></pre>
<p>Ist dies so möglich? Ich hoffe ich habe mich gut ausgedrückt und es ist herausgekommen, was ich haben will. Für Tipps und Hinweise hierzu wäre ich sehr dankbar.</p>
<p>Viele Grüße<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205512</guid><dc:creator><![CDATA[Andreas79]]></dc:creator><pubDate>Mon, 08 Jan 2007 10:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeil-Operator -&amp;gt; überladen on Mon, 08 Jan 2007 10:12:32 GMT]]></title><description><![CDATA[<p>Bei deinen Funktionen blicke ich jetzt nicht mehr durch - was hast du vor?</p>
<p>(nebenbei hat das wenig mit op-&gt; zu tun - der kommt eher dann zum Einatz, wenn du Smart-Pointer oder Iteratoren entwickeln willst)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205520</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 08 Jan 2007 10:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeil-Operator -&amp;gt; überladen on Mon, 08 Jan 2007 10:20:18 GMT]]></title><description><![CDATA[<p>Hallo, ich dachte mir schon fast, dass ich mich schlecht ausgedrückt habe;-)<br />
mein Hauptanliegen ist eben, dass ich die Funktionen fkt_setzen_test1 und fkt_setzen_test2 zu einer Funktion fkt_setzen_test zusammenfassen will. Nur arbeitet man einmal mit dem Objekt Test1 und zu anderen mit dem Objekt Test2. Somit würde ich mir sehr viel arbeit sparen, wenn ich nicht für jedes Objekt eine eigene Funktion fkt_setzen_test schreiben muß, sonsdern eine fkt_setzen_test die mit beiden Objekten zurecht kommt, es soll immer nur eines der beiden Objekte angelegt werden und nicht beide gleichzeitig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205526</guid><dc:creator><![CDATA[Andreas79]]></dc:creator><pubDate>Mon, 08 Jan 2007 10:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeil-Operator -&amp;gt; überladen on Mon, 08 Jan 2007 10:24:45 GMT]]></title><description><![CDATA[<p>Wenn Test1 und Test2 von einer gemeinsamen Basisklasse abstammen, könntest du ja diese Basisklasse verwenden, ansonsten eventuell eine Template-Funktion:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
void setze_whatever(T* ptr)
{
  ptr-&gt;setGroesse(groesse);
}

...
Test objekt;
setze_whatever(object.ptest1);
setze_whatever(object.ptest2);
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1205528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205528</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 08 Jan 2007 10:24:45 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeil-Operator -&amp;gt; überladen on Wed, 10 Jan 2007 08:53:06 GMT]]></title><description><![CDATA[<p>Hallo CStoll, danke für den Tipp mit der Basisklasse, da hätte ich eigentlich auch gleich draufkommen können.</p>
<p>Gruß<br />
Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1206864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1206864</guid><dc:creator><![CDATA[Andreas79]]></dc:creator><pubDate>Wed, 10 Jan 2007 08:53:06 GMT</pubDate></item></channel></rss>