CPoint::operator -
Используйте одну из перегрузок первых 2 для вычитания объекта CPoint или CSize из CPoint.
CSize operator -(
POINT point
) const throw( );
CPoint operator -(
SIZE size
) const throw( );
CRect operator -(
const RECT* lpRect
) const throw( );
CPoint operator -( ) const throw( );
Параметры
Возвращаемое значение
CSize, разница между 2 точек, CPoint, являющийся смещением отрицанием размера, CRect, возмещен отрицанием точки или CPoint, отрицание точки.
Заметки
Третья перегрузка offsets CRect отрицанием CPoint. Наконец, используйте унарный оператор для CPoint инверсия.
Например, используя первую перегрузку найти разницу между точками CPoint(25, -19) 2 и CPoint(15, 5) возвращает CSize(10, -24).
Вычитание CSize из CPoint выполняет один и тот же вычисление, как только CPoint выше возвращают объект, а не объект CSize. Например, используя вторую перегрузку найти разницу между точкой CPoint(25, -19) и размером CSize(15, 5) возвращает CPoint(10, -24).
Вычитание прямоугольник из точки возвращает смещение прямоугольника недостатками значений x и y, определенных в точке. Например, используя последнюю перегрузку смещения прямоугольника CRect(125, 200, 325, 400) точкой CPoint(25, -19) возвращает CRect(100, 219, 300, 419).
Используйте унарный оператор для инверсия точку. Например, использование унарного оператора с точкой CPoint(25, -19) возвращает CPoint(-25, 19).
Пример
// 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);
Требования
Header: atltypes.h