Одноэтапное и двухэтапное сборка объектов

У вас есть выбор между двумя способами создания графических объектов, таких как ручки и кисти:

  • Одноэтапная конструкция: создание и инициализация объекта на одном этапе, все с конструктором.

  • Двухэтапная конструкция: создание и инициализация объекта на двух отдельных этапах. Конструктор создает объект, а функция инициализации инициализирует ее.

Двухэтапное строительство всегда безопаснее. В одноэтапной конструкции конструктор может вызвать исключение, если некорректные аргументы или выделение памяти завершается ошибкой. Эта проблема избегается двухэтапной конструкции, хотя вам придется проверка для сбоя. В любом случае уничтожение объекта является тем же процессом.

Примечание.

Эти методы применяются к созданию объектов, а не только графических объектов.

Пример обоих методов строительства

В следующем кратком примере показаны оба метода создания объекта пера:

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

Что вы хотите узнать больше о

См. также

Графические объекты