Jeden etap i dwa etapy budowy obiektów
Możesz wybierać między dwie techniki tworzenia obiektów graficznych, takich jak pióra i pędzle:
Jeden etap budowy: konstrukcja i inicjowanie obiektu w jednej fazie z konstruktora.
Dwa etapy budowy: konstrukcja i inicjowanie obiektu w dwóch oddzielnych etapów.Konstruktor tworzy obiekt i funkcję inicjalizacji inicjuje ją.
Bezpieczniej jest zawsze dwa etapy budowy.Jeden etap budowy konstruktora może Zgłoś wyjątek, zapewniają nieprawidłowe argumenty lub alokacji pamięci.Chociaż Sprawdź, czy awaria dwa etapy budowy, unika się tego problemu.W każdym przypadku zniszczenie obiektu jest tego samego procesu.
[!UWAGA]
Techniki te stosuje się do tworzenia żadnych obiektów, obiekty nie tylko graficzne.
Przykład obie techniki konstrukcyjne
Następujący przykład pokazuje obie metody konstruowania obiektu pióra:
// 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
}