次の方法で共有


オブジェクトの One-Stage と Two-Stage 構築

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

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

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

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

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

両方の構築手法の例

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

// 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
}

詳しく知りたいこと

こちらも参照ください

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