如何繼承重載的運算符+()?繼承運算符+()
例如,我有兩類:
class Bin : public Number<2, 256>
{
public:
Bin(const char* number = NULL) :
Number(number)
{}
};
和
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;
}
};
操作者+()返回數量。但我想做的事:
Bin firstNum("101010111010");
Bin secondNum("1101011101");
Bin result = firstNum + secondNum;
(firstNum + secondNum)的類型 - 數< 2,256>不濱。我必須在每個繼承者中重載+()嗎?
請注意,這個問題並不特定於'operator +',甚至一般的操作符。對於「普通」成員函數也是如此...... – 2011-05-23 20:03:44