1 段階でのオブジェクトの構築と 2 段階でのオブジェクトの構築
更新 : 2007 年 11 月
ペンやブラシなどのグラフィック オブジェクトを作成するには、2 つの方法があります。
1 段階の構築。コンストラクタを使って一度にオブジェクトの構築と初期化を行います。
2 段階の構築。オブジェクトの構築と初期化を 2 段階で行います。コンストラクタでオブジェクトを作成し、初期化関数でオブジェクトを初期化します。
2 段階で構築する方が安全です。1 段階での構築では、引数を間違えたり、メモリを確保できないと、コンストラクタが例外をスローする場合があります。この問題は、2 段階での構築を行うことによって回避できます。ただし、エラーのチェックが必要になります。どちらの方法でも、オブジェクトの破棄方法は同じです。
メモ : |
---|
どちらの方法も、グラフィック オブジェクトだけでなく、あらゆるオブジェクトの作成に適用できます。 |
2 つの構築方法の例
ペン オブジェクトを構築する 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
}