CPoint::operator -
Utilice una de las primeras dos sobrecargas de restar un objeto de CPoint o de CSize de CPoint.
CSize operator -(
POINT point
) const throw( );
CPoint operator -(
SIZE size
) const throw( );
CRect operator -(
const RECT* lpRect
) const throw( );
CPoint operator -( ) const throw( );
Parámetros
Valor devuelto
CSize que es la diferencia entre dos puntos, CPoint que es la navegación por la negación de un tamaño, de CRect que sea la navegación por la negación de un punto, o de CPoint que es la negación de un punto.
Comentarios
la tercera sobrecarga compensa CRect por la negación de CPoint.Finalmente, utilice el operador unario para invalidar CPoint.
Por ejemplo, mediante la primera sobrecarga para buscar la diferencia entre dos puntos CPoint(25, -19) y CPoint(15, 5) devuelve CSize(10, -24).
Restar CSize de CPoint hace lo mismo cálculo que anteriormente pero devuelve un objeto de CPoint , no un objeto de CSize .Por ejemplo, mediante la segunda sobrecarga para buscar la diferencia entre el punto CPoint(25, -19) y el tamaño CSize(15, 5) devuelve CPoint(10, -24).
Resta un rectángulo de un punto devuelve el desplazamiento del rectángulo por las negativas de los valores de x y de s especificados en el punto.Por ejemplo, utilizando la sobrecarga se pasa para desplazar el rectángulo CRect(125, 200, 325, 400) por el punto CPoint(25, -19) devuelve CRect(100, 219, 300, 419).
Utilice el operador unario para invalidar un punto.Por ejemplo, mediante el operador unario con el punto CPoint(25, -19) devuelve CPoint(-25, 19).
Ejemplo
// example for CPoint subtraction
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
CPoint ptEnd;
ptEnd = ptStart - szOffset;
CPoint ptResult(65, 65);
ASSERT(ptResult == ptEnd);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptEnd = ptStart - sz;
ASSERT(ptResult == ptEnd);
// example for CPoint unary operator
CPoint pt(35, 35);
pt = -pt;
CPoint ptNeg(-35, -35);
ASSERT(pt == ptNeg);
Requisitos
encabezado: atltypes.h