Freigeben über


Ein- oder zweistufige Erstellung von Objekten

Sie haben die Wahl zwischen zwei Techniken zum Erstellen von Grafikobjekten, z. B. Stifte und Pinsel:

  • Einstufige Konstruktion: Erstellen und Initialisieren des Objekts in einer Phase, alles mit dem Konstruktor.

  • Zweistufige Konstruktion: Konstruieren und Initialisieren des Objekts in zwei separaten Phasen. Der Konstruktor erstellt das Objekt und eine Initialisierungsfunktion initialisiert es.

Zweistufige Konstruktion ist immer sicherer. Bei der einstufigen Konstruktion könnte der Konstruktor eine Ausnahme auslösen, wenn Sie falsche Argumente angeben oder die Speicherzuweisung fehlschlägt. Dieses Problem wird durch die zweistufige Konstruktion vermieden, obwohl Sie nach Fehlern suchen müssen. In beiden Fällen ist das Zerstören des Objekts derselbe Prozess.

Hinweis

Diese Techniken gelten für das Erstellen von Objekten, nicht nur für Grafikobjekte.

Beispiel für beide Konstruktionstechniken

Das folgende kurze Beispiel zeigt beide Methoden zum Erstellen eines Stiftobjekts:

// 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
}

Was möchten Sie mehr über

Siehe auch

Grafikobjekte