<?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[Rechenoperator einer Variable zuweisen?]]></title><description><![CDATA[<p>Hallo, ist es möglich einer Variable einen Rechenoperator zuzuweisen?<br />
z.B.<br />
int a=5;<br />
int b;<br />
int c=2;</p>
<p>und dann b einen Rechenoperator zuweisen z.b. addition und dann<br />
a=(a)b(c);<br />
wo dann 7 rauskommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276669/rechenoperator-einer-variable-zuweisen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 07:31:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276669.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Nov 2010 13:04:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 13:04:31 GMT]]></title><description><![CDATA[<p>Hallo, ist es möglich einer Variable einen Rechenoperator zuzuweisen?<br />
z.B.<br />
int a=5;<br />
int b;<br />
int c=2;</p>
<p>und dann b einen Rechenoperator zuweisen z.b. addition und dann<br />
a=(a)b(c);<br />
wo dann 7 rauskommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1976026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976026</guid><dc:creator><![CDATA[poko]]></dc:creator><pubDate>Sat, 06 Nov 2010 13:04:31 GMT</pubDate></item><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 13:09:05 GMT]]></title><description><![CDATA[<p>Nein. Fragt sich nur was das bringen sollte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Aber falls du sowas unbedingt machen möchtest, bau ne Klasse mit gewünschter Operatorenüberladung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1976030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976030</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 06 Nov 2010 13:09:05 GMT</pubDate></item><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 13:11:54 GMT]]></title><description><![CDATA[<p>Es gäbe da noch Funktionszeiger, um so etwas ähnliches zu erreichen. Wenn's sein muss, geht das auch sehr gut mit Makros.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1976035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976035</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 06 Nov 2010 13:11:54 GMT</pubDate></item><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 13:16:50 GMT]]></title><description><![CDATA[<p>Ok, hab ich mir schon gedacht..<br />
Was das bringen soll? Ganz einfach.<br />
Als Hausaufgabe soll ich ein Programm schreiben bei dem man aussucht ob Multiplikation oder Addition, dann Zahlen eingeben und die mit dem gewählten Rechenoperator Addieren oder Multiplizieren..<br />
Jetzt würde ich 2 If abfragen machen und die rechenoperation für Multiplikation und Addition machen, wenn mein gedanke ginge müsste ich nur einer Variable den Operator zuweisen und dann den Schritt der Berechnung damit <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1976039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976039</guid><dc:creator><![CDATA[poko]]></dc:creator><pubDate>Sat, 06 Nov 2010 13:16:50 GMT</pubDate></item><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 13:34:48 GMT]]></title><description><![CDATA[<p>poko schrieb:</p>
<blockquote>
<p>Jetzt würde ich 2 If abfragen machen und die rechenoperation für Multiplikation und Addition machen, wenn mein gedanke ginge müsste ich nur einer Variable den Operator zuweisen und dann den Schritt der Berechnung damit <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>
</blockquote>
<p>Das geht nicht. Die Zeichen + oder * haben während des Programmablaufs keine besondere Bedeutung. Irgendeine Art von Abfrage bräuchtest du auf jeden Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1976051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976051</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 06 Nov 2010 13:34:48 GMT</pubDate></item><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 13:39:47 GMT]]></title><description><![CDATA[<p>Das Übliche bei so einer Anfängeraufgabe ist dann die Ablage des Operators in eine char-Variable ('+', '*', ...) und dann mittels einer switch-case-Anweisung die einzelnen Operationen auszuführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1976056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976056</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sat, 06 Nov 2010 13:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to Rechenoperator einer Variable zuweisen? on Sat, 06 Nov 2010 16:34:39 GMT]]></title><description><![CDATA[<p>Mit sehr viel langer Weile kann man es auch so machen :p</p>
<p>Operator.hpp:</p>
<pre><code class="language-cpp">#ifndef OPERATOR_HPP
#define	OPERATOR_HPP

#include &lt;iostream&gt;

class Operator
{
private:
    char m_op;
    friend std::istream&amp; operator &gt;&gt; (std::istream &amp;in, Operator &amp;op);
    friend std::ostream&amp; operator &lt;&lt; (std::ostream &amp;out, const Operator &amp;op);
public:
    Operator(void);

    template &lt;typename DataType&gt;
    inline DataType operator () (const DataType &amp;rhs, const DataType &amp;lhs)
    {
        switch (m_op)
        {
            case '+': return (rhs + lhs);
            case '-': return (rhs - lhs);
            case '*': return (rhs * lhs);
            case '/': return (rhs / lhs);
        }
        return DataType();
    }
};

std::istream&amp; operator &gt;&gt; (std::istream &amp;in, Operator &amp;op);
std::ostream&amp; operator &lt;&lt; (std::ostream &amp;out, const Operator &amp;op);

#endif	/* OPERATOR_HPP */
</code></pre>
<p>Operator.cpp:</p>
<pre><code class="language-cpp">#include &quot;Operator.hpp&quot;

using namespace std;

Operator::Operator(void)
: m_op('?')
{
}

istream&amp; operator &gt;&gt; (istream &amp;in, Operator &amp;op)
{
    in &gt;&gt; op.m_op;
    if (op.m_op != '+' &amp;&amp; op.m_op != '-' &amp;&amp; op.m_op != '*' &amp;&amp; op.m_op != '/')
        op.m_op = '?';
    return in;
}

ostream&amp; operator &lt;&lt; (ostream &amp;out, const Operator &amp;op)
{
    return (out &lt;&lt; op.m_op);
}
</code></pre>
<p>main.cpp:</p>
<pre><code class="language-cpp">#include &quot;Operator.hpp&quot;
using namespace std;

int main(int argc, char** argv)
{
    int a, b;
    Operator op;
    cout &lt;&lt; &quot;Expression: &quot;;
    cin &gt;&gt; a &gt;&gt; op &gt;&gt; b;
    cout &lt;&lt; &quot;Solution: &quot; &lt;&lt; op(a, b) &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Die Operator-Klasse arbeitet hier zwar intern auch mit switch-case, aber zumindest entspricht jetzt die main-Funktion in etwa deiner Vorstellung <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>Ein Durchlauf des Programms sieht dann etwa so aus:</p>
<blockquote>
<p>Expression: 6 * 7<br />
Solution: 42</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1976168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1976168</guid><dc:creator><![CDATA[DrakoXP]]></dc:creator><pubDate>Sat, 06 Nov 2010 16:34:39 GMT</pubDate></item></channel></rss>