Carregando operadores na classe derivada

Devo precisar redefinir todos os operadores de sobrecarga com tipo derivado, se precisar usá-los na classe derivad

O código a seguir compila bem:

class Point {

public:

    Point(int X = 0, int Y = 0):x(X), y(Y) {}

    virtual ~Point() {}

    Point operator +(Point &rhs) {
        return Point(x + rhs.x, y + rhs.y);
    }

protected:
    int x, y;
};

class Vector : public Point {

public:

    Vector(int X, int Y) : Point(X, Y) {}

    ~Vector() {}

    Vector operator +(Vector &rhs) {
        return Vector(x + rhs.x, y + rhs.y);
    }
};

int main()
{
    Vector v1(1, 2);
    Vector v2(3, 2);

    Vector v3 = v2 + v1;
}

Mas pelo que li,

C ++ Primer 4ª Ed. Seção 15.5.

Se uma classe derivada quiser disponibilizar todas as versões sobrecarregadas por meio de seu tipo, ela deverá redefinir todas ou nenhuma dela

Faz parte da citação "none of them "faz algum sentido aqui?

questionAnswers(3)

yourAnswerToTheQuestion