Comment hériteront opérateur surchargée +()?opérateur Héritant +()
Par exemple, j'ai deux classes:
class Bin : public Number<2, 256>
{
public:
Bin(const char* number = NULL) :
Number(number)
{}
};
et
template <unsigned int BASE, unsigned int ORDER>
class Number
{
private:
...
public:
Number(const char* number = NULL) {
...
}
const Number& operator +=(const Number& number) {
...
}
Number operator +(const Number& number) const {
Number result = *this;
return result += number;
}
};
opérateur +() retourne le nombre. Mais je veux faire:
Bin firstNum("101010111010");
Bin secondNum("1101011101");
Bin result = firstNum + secondNum;
Type de (firstNum + secondNum) - Nombre < 2, 256> non Bin. Dois-je surcharger +() dans chaque héritier?
Notez que ce problème n'est pas spécifique à l'opérateur '' +, ou même les opérateurs en général. C'est aussi vrai pour les fonctions membres "normales" ... –