Wenn die Postfix-Operator Überlastung, ich etwas Einfaches wieZweck des Dummy-Parameters in Postfix Operator Overload? C++
Class Foo
{
private:
int someBS;
public:
//declaration of pre &postfix++
Foo operator++();
//rest of class not shown
};
Präfix benötigt keine Parameter nehmen tun können, also wenn ich definieren es, so etwas wie
Foo Foo::operator()
{
someBS ++;
return *this;
}
und es macht vollkommener Sinn für mich.
Wenn ich die Postfix Überlastung I
Foo Foo::operator++(int)
{
Foo temp = *this;
someBS ++;
return temp;
}
Meine Frage ist, warum einen Dummy-int-Parameter enthalten müssen definieren? Ich benutze es nie in der Methode. Der Präfix-Operator benötigt keinen. Das Postfix, das den Wert temp
zurückgibt, ist nicht vom Dummy-Parameter abhängig. Ich weiß, wenn ich wollen einen Postfix-Operator überladen, wie es getan wird, will ich nur den Grund wissen.
Welche alternative Möglichkeit würden Sie vorschlagen? –
@AlanStokes, keine Alternative. Angesichts dessen, dass ich mich seines Zwecks nicht sicher war, hatte ich sicherlich keine Möglichkeit, das anders zu machen. – Podo
@AlanStokes, Wie wäre es mit 'Foo ++ operator()' und 'Foo operator ++()'? ;) (Nur 5% seriös ...) – kloffy