Ein- oder zweistufige Erstellung von Objekten
Sie haben die Wahl zwischen zwei Techniken zum Erstellen von Grafikobjekten, wie Stifte und Pinsel:
Einstufige Konstruktion: Erstellen und initialisieren Sie das Objekt in einer Phase, alle mit dem Konstruktor.
Zweistufige Konstruktion: Erstellen und initialisieren Sie das Objekt in zwei verschiedenen Phasen. Der Konstruktor erstellt das Objekt und eine Initialisierungsfunktion initialisiert.
Zweistufige Konstruktion ist immer sicherer. In der einstufigen Konstruktion kann der Konstruktor eine Ausnahme auslösen, zählen fehlerhafte Argumente bereitstellen, Speicherbelegung oder fehlschlägt. Dieses Problem wird durch zweistufige Konstruktion vermieden, obwohl Sie für Fehler überprüfen. In jedem Fall ist das Objekt zu zerstören der gleiche Prozess.
Hinweis
Diese Methoden gelten auf das Erstellen aller Objekte, nicht nur Grafikobjekte.
Beispiel Konstruktions-Techniken beider
Das folgende kurze Beispiel werden beide Methoden zum Erstellen eines Stiftsobjekts an:
// 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
}