1 段階でのオブジェクトの構築と 2 段階でのオブジェクトの構築

ペンやブラシなど、グラフィック オブジェクトを作成するための 2 つの手法から選択できます。

  • 1 段階での構築: コンストラクターを使用して、オブジェクトを 1 段階ですべて構築して初期化します。

  • 2 段階での構築: オブジェクトを異なる 2 段階で構築して初期化します。 コンストラクターがオブジェクトを作成し、初期化関数がそれを初期化します。

2 段階での構築のほうが常により安全です。 1 段階での構築では、正しくない引数を指定した場合、またはメモリ割り当てが失敗した場合に、コンストラクターが例外をスローする可能性があります。 この問題は 2 段階での構築によって回避されます。ただし、障害を確認する必要はあります。 どちらの場合も、オブジェクトの破棄は同じプロセスです。

Note

これらの手法は、グラフィック オブジェクトだけではなく、あらゆるオブジェクトの作成に適用されます。

両方の構築手法の例

次の簡単な例は、ペン オブジェクトを構築する両方の方法を示しています。

// One-stage
CPen myPen1(PS_DOT, 5, RGB(0, 0, 0));

// Two-stage: first construct the pen
CPen myPen2;
// Then initialize it
if (myPen2.CreatePen(PS_DOT, 5, RGB(0, 0, 0)))
{
   // Use the pen
}

さらに詳しい情報

関連項目

グラフィック オブジェクト