<?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[operator ++ ()]]></title><description><![CDATA[<p>Hallo...<br />
Eigtl ist es ja kein Problem, Operatoren zu überladen, aber mal angenommen:</p>
<pre><code class="language-cpp">struct zeichen
	{
		private:
			char w;
			zeichen *pNext;
		public:
//GetChar () und andere Funktionen, damit das Sinn macht ^^
			zeichen&amp; operator ++ (void)
				{
					this = this-&gt;pNext;
					return *this;
				};
	};
</code></pre>
<p>Eigentlich ist damit denk ich klar, was ich will - und anscheind geht es nicht, weil this als <code>T * const</code> definiert ist...<br />
Aber wie soll man so was dann hinbekommen? Gibts da überhaupt ne Möglichkeit?</p>
<p>Der Vollständigkeit halber mal noch die Fehlermeldung des Compilers - aber das sollte ja eigtl klar sein:</p>
<pre><code>error C2106: '=': Linker Operand muss ein L-Wert sein
</code></pre>
<p>Danke schon mal : &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217314/operator</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 17:40:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217314.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Jul 2008 10:19:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator ++ () on Sun, 06 Jul 2008 10:19:05 GMT]]></title><description><![CDATA[<p>Hallo...<br />
Eigtl ist es ja kein Problem, Operatoren zu überladen, aber mal angenommen:</p>
<pre><code class="language-cpp">struct zeichen
	{
		private:
			char w;
			zeichen *pNext;
		public:
//GetChar () und andere Funktionen, damit das Sinn macht ^^
			zeichen&amp; operator ++ (void)
				{
					this = this-&gt;pNext;
					return *this;
				};
	};
</code></pre>
<p>Eigentlich ist damit denk ich klar, was ich will - und anscheind geht es nicht, weil this als <code>T * const</code> definiert ist...<br />
Aber wie soll man so was dann hinbekommen? Gibts da überhaupt ne Möglichkeit?</p>
<p>Der Vollständigkeit halber mal noch die Fehlermeldung des Compilers - aber das sollte ja eigtl klar sein:</p>
<pre><code>error C2106: '=': Linker Operand muss ein L-Wert sein
</code></pre>
<p>Danke schon mal : &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1541774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541774</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 06 Jul 2008 10:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to operator ++ () on Sun, 06 Jul 2008 10:59:58 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>den this-zeiger zu verändern, was soll das bringen</p>
<p>machs doch so</p>
<pre><code class="language-cpp">struct zeichen
{
private:
    char w;
    zeichen *pNext;
public:
//GetChar () und andere Funktionen, damit das Sinn macht ^^
    zeichen&amp; operator ++ (void)
    {
        return *(this-&gt;pNext);
    };
};
</code></pre>
<p>oder aber du machst das mit iteratoren</p>
<pre><code class="language-cpp">struct zeichen
{
private:
    char w;
    zeichen *pNext;
public:
//GetChar () und andere Funktionen, damit das Sinn macht ^^
    class iterator
    {
    public:
        iterator(Zeichen *p = 0) pZeichen(p)
        {}
        bool operator == (const iterator &amp;k)
        {
            return this == &amp;k;
        }
        .....
    private:
        zeichen *pZeichen;
    };
    zeichen&amp; operator ++ (void)
    {
        return *(this-&gt;pNext);
    };
    iterator begin();
    {
        return iterator(this);
    }
    iterator end();
    {
        return iterator(0);
    }
    friend class iterator;
};
</code></pre>
<p>mfg helferlein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1541806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541806</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Sun, 06 Jul 2008 10:59:58 GMT</pubDate></item><item><title><![CDATA[Reply to operator ++ () on Sun, 06 Jul 2008 11:17:13 GMT]]></title><description><![CDATA[<p>Naja - das so was geht:</p>
<pre><code class="language-cpp">//zeichen *string;
for (zeichen *iter (string); iter != NULL; ++iter)
{
iter-&gt;GetChar ();
}
</code></pre>
<p>Aber da werd ich wo wirklich nich um iteratoren rumkommen (dachte nur, dasses da irgend ne gaaaaaaanz dreckige und böse lösung gibt - ist eh nur ne aufgabe für die uni ^^) : /</p>
<p>Danke ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1541815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541815</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 06 Jul 2008 11:17:13 GMT</pubDate></item><item><title><![CDATA[Reply to operator ++ () on Sun, 06 Jul 2008 11:42:05 GMT]]></title><description><![CDATA[<p>gibt es <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>
<p>du kannst ja in der klasse einen zeiger deklarieren der zu begin auf this gesetzt ist. den kannst du dann weitersetzen</p>
<pre><code class="language-cpp">class zeichen
{
public:
    zeichen()
    {
        ptr = this;
    }
    void operator ++ ()
    {
        if (ptr)
            ptr = ptr-&gt;pNext;
    }
    char GetChar()
    {
        return ptr-&gt;w;
    }
private:
    zeichen *ptr, *pNext;
    char w;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1541826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541826</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Sun, 06 Jul 2008 11:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to operator ++ () on Sun, 06 Jul 2008 11:55:52 GMT]]></title><description><![CDATA[<p>die lösung gefällt mir so gar richtig sehr : )</p>
<p>danke helferlein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1541839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541839</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 06 Jul 2008 11:55:52 GMT</pubDate></item></channel></rss>