Costruzione a uno stadio e in due fasi di oggetti
È possibile scegliere tra due tecniche per creare oggetti grafici, quali penne e pennelli:
Costruzione a uno stadio: Creare e inizializzare l'oggetto in una fase, fino al costruttore.
Costruzione in due fasi: Creare e inizializzare l'oggetto in due fasi separate.Il costruttore crea l'oggetto e una funzione di inizializzazione viene inizializzato.
La costruzione a due livelli è sempre più sicura.Nella costruzione a uno stadio, il costruttore potrebbe generare un'eccezione se si specificano argomenti non corretti o l'esito negativo di allocazione della memoria.Tale problema viene evitato dalla costruzione a due livelli, sebbene sia necessario verificare la presenza di errore.In entrambi i casi, eliminare l'oggetto è lo stesso processo.
[!NOTA]
Queste tecniche sono applicabili a creare tutti gli oggetti, non solo gli oggetti grafici.
Esempio di entrambe le tecniche di costruzione
Nell'breve esempio seguente vengono illustrati entrambi i metodi di creazione dell'oggetto Pen:
// 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
}