Ich versuche, die nächsten 2 FunktionenPolymorphismus in C++
Number& DoubleClass::operator+(Number& x);
Number& IntClass::operator+(Number& x);
Ich bin nicht sicher zu implementieren, wie es geht .. (ihre Innigkeit erklärt weiter unten):
class IntClass;
class DoubleClass;
class Number {
//return a Number object that's the results of x+this, when x is either
//IntClass or DoubleClass
virtual Number& operator+(Number& x) = 0;
};
class IntClass : public Number {
private:
int my_number;
//return a Number object that's the result of x+this.
//The actual class of the returned object depends on x.
//If x is IntClass, then the result if IntClass.
//If x is DoubleClass, then the results is DoubleClass.
public:
Number& operator+(Number& x);
};
class DoubleClass : public Number {
private:
double my_number;
public:
//return a DoubleClass object that's the result of x+this.
//This should work if x is either IntClass or DoubleClass
Number& operator+(Number& x);
};
Ich gehe davon aus 'IntClass :: operator +()' war zu sein 'public', nicht wahr? – chrisaycock
War etwas falsch mit der Erklärung, die Sie bekommen haben [Ihre frühere Frage] (http://stackoverflow.com/questions/4633767/how-to-return-a-reference-in-c)? –