一階段和兩階段的物件建構
您有兩個建立圖形物件技術的選擇,例如畫筆和筆刷:
一個階段建構:建構並初始化在一個階段中,皆使用建構函式。
兩個階段建構:建構並初始化物件兩個不同階段。 建構函式會建立物件及初始化函式將它初始化。
兩個階段建構永遠比較安全。 在一個階段建構,如果您提供不正確的引述或記憶體配置失敗,建構函釋會值回例外狀況。 該問題由兩階段建構避免,不過您必須檢查失敗。 在任何情況下,終結物件是相同的處理序。
注意事項 |
---|
這些技術適用於建立所有物件,而不只是圖形物件。 |
兩個建構技術的範例
下列簡短範例顯示建構畫筆物件的兩個方法:
// 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
}