1 段階でのオブジェクトの構築と 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
}