Sobrecarga de operadores en clase derivada

Debo redefinir todos los operadores de sobrecarga con tipo derivado si necesito usarlos en la clase derivada?

El siguiente código compila bien:

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;
}

Pero de lo que he leído,

C ++ Primer 4to Ed. Sección 15.5.3.

Si una clase derivada quiere que todas las versiones sobrecargadas estén disponibles a través de su tipo, debe redefinirlas todas o ninguna de ellas.

Hace la parte de la cita "none of them "¿Tiene algún sentido aquí?

Respuestas a la pregunta(3)

Su respuesta a la pregunta