<?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[] in Klasse benutzen]]></title><description><![CDATA[<p>Guten Abend,</p>
<p>ich habe eine Kleine Klasse erstellt, die den [] operator überladen hat. Diesen Operator möchte ich in der Klasse benutzen. Wie ist das möglich?</p>
<p>Die Klasse:</p>
<pre><code class="language-cpp">class restaurant {
        public:
            string ausg_gruppe();
        private:
            int operator[]( int pos);
            vector&lt;int&gt; gruppe;
            vector&lt;int&gt; verteilung;

            int anzahl_sitzplaetze;
            int gruppe_aktuell;
            int runden( double wert);
};
</code></pre>
<p>Die Funktion:</p>
<pre><code class="language-cpp">string restaurant::ausg_gruppe() {
    int nr=1;
    string buffer;
    for( int i=0; i&lt;anzahl_sitzplaetze; ++i) {
        if( operator[](i) != 0) {
            if( operator[](i) != operator[](i-1))
                nr++;

            if( nr &lt; 10)
                buffer.push_back(nr + 48);
            else
                buffer.push_back(nr + 55);
        } else
            buffer.push_back(48);
    }

// Falls die letzt Gruppe die erste ist
    if( gruppe[anzahl_sitzplaetze-1] == gruppe[0]) {
        for( int i=anzahl_sitzplaetze-1; i&gt;=0; --i){
            if(gruppe[i] == gruppe[0]) {
                buffer[i] = buffer[0];
            }
        }
    }
    return buffer;
}
</code></pre>
<p>Es funktioniert auf jedenfall mit operator[](pos). ist es auch in einer schickeren schreibweiße möglich?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263801/operator-in-klasse-benutzen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 13:44:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263801.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 27 Mar 2010 22:31:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sat, 27 Mar 2010 22:31:22 GMT]]></title><description><![CDATA[<p>Guten Abend,</p>
<p>ich habe eine Kleine Klasse erstellt, die den [] operator überladen hat. Diesen Operator möchte ich in der Klasse benutzen. Wie ist das möglich?</p>
<p>Die Klasse:</p>
<pre><code class="language-cpp">class restaurant {
        public:
            string ausg_gruppe();
        private:
            int operator[]( int pos);
            vector&lt;int&gt; gruppe;
            vector&lt;int&gt; verteilung;

            int anzahl_sitzplaetze;
            int gruppe_aktuell;
            int runden( double wert);
};
</code></pre>
<p>Die Funktion:</p>
<pre><code class="language-cpp">string restaurant::ausg_gruppe() {
    int nr=1;
    string buffer;
    for( int i=0; i&lt;anzahl_sitzplaetze; ++i) {
        if( operator[](i) != 0) {
            if( operator[](i) != operator[](i-1))
                nr++;

            if( nr &lt; 10)
                buffer.push_back(nr + 48);
            else
                buffer.push_back(nr + 55);
        } else
            buffer.push_back(48);
    }

// Falls die letzt Gruppe die erste ist
    if( gruppe[anzahl_sitzplaetze-1] == gruppe[0]) {
        for( int i=anzahl_sitzplaetze-1; i&gt;=0; --i){
            if(gruppe[i] == gruppe[0]) {
                buffer[i] = buffer[0];
            }
        }
    }
    return buffer;
}
</code></pre>
<p>Es funktioniert auf jedenfall mit operator[](pos). ist es auch in einer schickeren schreibweiße möglich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874326</guid><dc:creator><![CDATA[Fettpet]]></dc:creator><pubDate>Sat, 27 Mar 2010 22:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sat, 27 Mar 2010 23:11:46 GMT]]></title><description><![CDATA[<p>Zeig halt mal deine Überladung her.<br />
Edit:<br />
Oder meinst du das hier?</p>
<pre><code class="language-cpp">if( operator[](i) != operator[](i-1))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1874334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874334</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sat, 27 Mar 2010 23:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sat, 27 Mar 2010 23:11:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">(*this)[i]
</code></pre>
<p>aber ob das hübscher ist (ich nie verstanden habe, warum this ein zeiger ist)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874335</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 27 Mar 2010 23:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sat, 27 Mar 2010 23:15:42 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort. Du hast aber recht, hübscher ist diese Variante auch nicht</p>
<p>Hier ist meine überladene Funktion</p>
<pre><code class="language-cpp">int restaurant::operator[](int pos_arg) {
    int pos = pos_arg%anzahl_sitzplaetze;

    return gruppe[pos];
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1874337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874337</guid><dc:creator><![CDATA[Fettpet]]></dc:creator><pubDate>Sat, 27 Mar 2010 23:15:42 GMT</pubDate></item><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sat, 27 Mar 2010 23:21:23 GMT]]></title><description><![CDATA[<p>Irgendwie kann ich mir kein Restaurant mit op[] vorstellen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Damit fällt das Problem evtl eh von alleine Weg, wenn eine Klasse nur eine Bedeutung füllt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874341</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 27 Mar 2010 23:21:23 GMT</pubDate></item><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sat, 27 Mar 2010 23:31:27 GMT]]></title><description><![CDATA[<p>Ich muss volkard zustimmen. Allgemein finde ich deine Überladung des Index-Operators merkwürdig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874342</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sat, 27 Mar 2010 23:31:27 GMT</pubDate></item><item><title><![CDATA[Reply to operator[] in Klasse benutzen on Sun, 28 Mar 2010 02:59:35 GMT]]></title><description><![CDATA[<p>Schliesse mich an.<br />
operator [] private überladen ist mehr als seltsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874367</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 28 Mar 2010 02:59:35 GMT</pubDate></item></channel></rss>