一階式和兩階式建構的物件
您可以選擇兩種技術,建立圖形物件,例如畫筆和筆刷時:
一階式建構: 建構和初始化該物件在一個步驟中,都可以透過建構函式。
兩階式建構: 建構和初始化物件以兩個不同的階段。 建構函式會建立物件,並且的初始化函式將它初始化。
兩階式建構總是會比較安全的。 在一階式建構建構函式無法擲回例外狀況,如果您提供不正確的引數或記憶體配置失敗。 兩階式建構,雖然您還是必須檢查有錯誤,被避免該問題。 不論是哪一種情況,終結物件的是相同的程序。
注意事項 |
---|
這些技術適用於建立任何物件,不只是圖形物件。 |
這兩種建構技術的範例
下列簡短範例顯示兩種建構畫筆物件的方法:
// 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
}