最初の 3 つの演算子は、パラメーターの値からこの CSize 値を減算します。
CSize operator -(
SIZE size
) const throw( );
CPoint operator -(
POINT point
) const throw( );
CRect operator -(
const RECT* lpRect
) const throw( );
CSize operator -( ) const throw( );
解説
4 番目の演算子は単項マイナス演算子で CSize 値の符号を反転します。 各演算子について次に説明します。
operator -( size ) 2 つの CSize 値を減算します。
operator -( point ) CSize 値だけ POINT または CPoint の値を減算方向にオフセット (移動) します。 CSize 値の cx メンバーと cy メンバーが、POINT 値の x データ メンバーと y データ メンバーから減算されます。 この演算子は、パラメーターに SIZE を渡す CPoint::operator - のバージョンと似ています。
operator -( lpRect ) CSize 値だけ RECT または CRect の値を減算方向にオフセット (移動) します。 CSize 値の cx メンバーと cy メンバーが、RECT 値のデータ メンバー left、top、right、bottom から減算されます。 この演算子は、パラメーターに SIZE を渡す CRect::operator - のバージョンと似ています。
operator -( ) CSize 値の符号を反転します。
使用例
CSize sz1(100, 100);
CSize sz2(50, 25);
CSize szOut;
szOut = sz1 - sz2;
CSize szResult(50, 75);
ASSERT(szOut == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
szOut = sz1 - sz3;
ASSERT(szOut == szResult);
必要条件
**ヘッダー:**atltypes.h