Share via


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

  • point
    una estructura de puntos o un objeto de CPoint .

  • size
    una estructura de CALIBRE o un objeto de CSize .

  • lpRect
    Un puntero a una estructura de RECT o un objeto de CRect .

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

Vea también

Referencia

Clase de CPoint

Gráfico de jerarquía

CPoint::operator - =

CPoint::operator +=

CPoint::operator +

CSize::operator -

CRect::operator -

CPoint::Offset

CRect::OffsetRect